method(name) -> Method[permalink][rdoc][edit]-
オブジェクトのメソッド name をオブジェクト化した Method オブジェクトを返します。
- [PARAM]
name: - メソッド名をSymbol またはStringで指定します。
- [EXCEPTION]
NameError: - 定義されていないメソッド名を引数として与えると発生します。
me = -365.method(:abs) p me #=> #<Method: Integer#abs> p me.call #=> 365Method・UnboundMethod オブジェクトを取得するメソッドの対比は次のとおりです。
メソッド 対象 可視性の制限 返り値 Object#method レシーバのメソッド(特異メソッドを含む) なし Method Object#public_method レシーバのメソッド(特異メソッドを含む) public のみ Method Object#singleton_method レシーバの特異メソッドのみ なし Method Module#instance_method self のインスタンスメソッド なし UnboundMethod Module#public_instance_method self のインスタンスメソッド public のみ UnboundMethod UnboundMethod はレシーバに束縛されていない状態のメソッドオブジェクトです。UnboundMethod#bind でレシーバに束縛すると Method になり、逆に Method#unbind で UnboundMethod に戻せます。
[SEE_ALSO] Module#instance_method, Method, BasicObject#__send__, Object#send, Kernel?.eval, Object#singleton_method
- [PARAM]