別のキーワード
種類
- インスタンスメソッド (44)
- 文書 (40)
- 関数 (22)
ライブラリ
- ビルトイン (44)
クラス
- BasicObject (11)
- Module (33)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) -
NEWS for Ruby 2
. 5 . 0 (7) - Ruby用語集 (11)
-
method
_ removed (11) -
rb
_ mod _ remove _ method (11) -
rb
_ remove _ method (11) -
singleton
_ method _ removed (11) -
undef
_ method (11) - クラス/メソッドの定義 (11)
検索結果
先頭5件
-
Module
# remove _ method(*name) -> self (18236.0) -
インスタンスメソッド name をモジュールから削除します。
...インスタンスメソッド name をモジュールから削除します。
Ruby 1.8.0 以降は複数のメソッド名を指定して一度に削除できます。
@param name 0 個以上の String か Symbol を指定します。
@raise NameError 指定したメソッドが定義されて......いない場合に発生します。
//emlist[例][ruby]{
class C
def foo
end
remove_method :foo
remove_method :no_such_method # 例外 NameError が発生
end
//}
@see Module#undef_method... -
static VALUE rb
_ mod _ remove _ method(VALUE mod , VALUE name) (6222.0) -
Module#remove_method の実体。
...Module#remove_method の実体。
モジュール mod から name という名前のメソッドを
検索し、エントリを削除します。見付からなかったときは
例外 NameError が発生します。... -
void rb
_ remove _ method(VALUE klass , const char *name) (6216.0) -
クラス klass 自体に登録されている name という名前のメソッドを 検索し、エントリを削除します。 見付からなかったときは例外 NameError を発生します。
...クラス klass 自体に登録されている name という名前のメソッドを
検索し、エントリを削除します。
見付からなかったときは例外 NameError を発生します。... -
BasicObject
# singleton _ method _ removed(name) -> object (141.0) -
特異メソッドが Module#remove_method に より削除された時にインタプリタから呼び出されます。
...特異メソッドが Module#remove_method に
より削除された時にインタプリタから呼び出されます。
通常のメソッドの削除に対するフックには
Module#method_removedを使います。
@param name 削除されたメソッド名が Symbol で渡されます。......//emlist[例][ruby]{
class Foo
def singleton_method_removed(name)
puts "singleton method \"#{name}\" was removed"
end
end
obj = Foo.new
def obj.foo
end
class << obj
remove_method :foo
end
#=> singleton method "foo" was removed
//}
@see Module#method_removed,BasicObject#singleton_method... -
Module
# method _ removed(name) -> () (141.0) -
メソッドが Module#remove_method により削除 された時にインタプリタがこのメソッドを呼び出します。
...メソッドが Module#remove_method により削除
された時にインタプリタがこのメソッドを呼び出します。
特異メソッドの削除に対するフックには
BasicObject#singleton_method_removed
を使います。
@param name 削除されたメソッド名が Symbol......で渡されます。
//emlist[例][ruby]{
class Foo
def Foo.method_removed(name)
puts "method \"#{name}\" was removed"
end
def foo
end
remove_method :foo
end
# => method "foo" was removed
//}... -
Module
# undef _ method(*name) -> self (141.0) -
このモジュールのインスタンスメソッド name を未定義にします。
...このモジュールのインスタンスメソッド name を未定義にします。
@param name 0 個以上の String か Symbol を指定します。
@raise NameError 指定したインスタンスメソッドが定義されていない場合に発生します。
=== 「未定義にする......」とは
このモジュールのインスタンスに対して name という
メソッドを呼び出すことを禁止するということです。
スーパークラスの定義が継承されるかどうかという点において、
「未定義」は「メソッドの削除」とは区別......び出しはエラーになる
class B
undef_method :ok
end
B.new.ok # => NameError
# remove_method の場合はスーパークラスに同名のメソッドがあると
# それが呼ばれる
class B
remove_method :ok
end
B.new.ok # => A
//}
また、undef 文と undef_method の違い... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (48.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
...なりました。
((<ruby-core:00927>))
: ((<NameError>)) & ((<NoMethodError>)) [change]
NameError を StandardError のサブクラスに戻しました。
クラス階層は以下のようになりました。
NoMethodError < NameError < StandardError.
: ((<Interrupt>))......$deferr はすぐに obsolete に
なりました。$stderr を使ってください)
=== ARGF
: ((<ARGF/ARGF.path>)) [new]
追加 (ARGF.filename の別名) ((<ruby-dev:20197>))
=== Array
: ((<Array#transpose|Array/transpose>)) [new]
追加
: ((<Array#zip|Enumerable/zip>)) [new]
: ((<En......になりました。
((<ruby-bugs-ja:PR#193>))
=== Module
: ((<Module#undef_method|Module/undef_method>)) [compat]
: ((<Module#remove_method|Module/remove_method>)) [compat]
一度に複数のメソッドを指定できるようになりました。((<RCR#146>))
: ((<Module#method_added|Mod... -
NEWS for Ruby 2
. 5 . 0 (24.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...File.stat, File.exist? など rb_stat() を使用しているメソッドではGVLを解放するようになりました
13941
* File.rename GVL を解放するようになりました 13951
* File::Stat#atime, File::Stat#mtime, File::Stat#ctime
Windows 8 以降でタイムス......attr_writer はパブリックメソッドになりました 14132
* Module#define_method, Module#alias_method, Module#undef_method, Module#remove_method はパブリックメソッドになりました 14133
* Numeric
* Numeric#step は > で0と比較できない引数が与えられた......した。
11925
* Regexp/String: Unicodeのバージョンを 9.0.0 から 10.0.0 に更新しました。 13685
* Thread
* Thread#name= で設定した名前が Windows 10 で見えるようになりました
* Thread#fetch を追加 13009
* Thread.report_on_exception のデ... -
Ruby用語集 (24.0)
-
Ruby用語集 A B C D E F G I J M N O R S Y
...関係が
なく、再定義もできない。
代入式「n = 1」における「=」は代入演算子である。
「str.size」「user&.name」といったメソッド呼び出しにおける
「.」「&.」も演算子である。
「[*0..9]」におけるいわゆる splat 展開の......でも参照・代入できる。
クラスインスタンス変数とは異なる。
参照:d:spec/variables#class
: クラス名
: class name
クラスの名前。クラスを定義すると、同名の定数が定義され、そのクラスが
代入される。
: クラスメソ......メソッドの定義を取り消すこと。d:spec/def#undef 式もしくは
Module#undef_method メソッドによって行う。
Module#remove_method メソッドによるメソッドの削除とは
異なることに注意。
: メソッド
: method
クラスやモジュールに定義... -
クラス/メソッドの定義 (24.0)
-
クラス/メソッドの定義 * クラス/メソッドの定義: * class * singleton_class * module * method * operator * nest_method * eval_method * singleton_method * class_method * limit * 定義に関する操作: * alias * undef * defined
...を参照してください。
//emlist[][ruby]{
class Foo
def foo
def bar
p :bar
end
end
def Foo.method_added(name)
puts "method \"#{name}\" was added"
end
end
obj = Foo.new
obj.bar rescue nil # => undefined method `bar' for #<Foo:0x4019eda4>
obj.foo # => meth......。例えば
//emlist[][ruby]{
foo # <- foo は未定義
def foo
print "foo\n"
end
//}
は未定義メソッドの呼び出しで例外 NameError を発生させます。
===[a:singleton_method] 特異メソッド定義
//emlist[例][ruby]{
def foo.test
print "this is foo\n"
end
//}......のメソッドの呼び出しは
たとえスーパークラスに同名のメソッドがあっても例外 NameError を発生させます。
(一方、メソッド Module#remove_method は、関係を取り除くだけです。この違いは重要です)。
alias による別名定義と undef...