Ruby 4.0 リファレンスマニュアル

instance method Object#method

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 #=> 365

MethodUnboundMethod オブジェクトを取得するメソッドの対比は次のとおりです。

メソッド対象可視性の制限返り値
Object#methodレシーバのメソッド(特異メソッドを含む)なしMethod
Object#public_methodレシーバのメソッド(特異メソッドを含む)public のみMethod
Object#singleton_methodレシーバの特異メソッドのみなしMethod
Module#instance_methodself のインスタンスメソッドなしUnboundMethod
Module#public_instance_methodself のインスタンスメソッドpublic のみUnboundMethod

UnboundMethod はレシーバに束縛されていない状態のメソッドオブジェクトです。UnboundMethod#bind でレシーバに束縛すると Method になり、逆に Method#unbindUnboundMethod に戻せます。

[SEE_ALSO] Module#instance_method, Method, BasicObject#__send__, Object#send, Kernel?.eval, Object#singleton_method