Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > UnboundMethodクラス > bind
bind(obj) -> Method
[permalink][rdoc]self を obj にバインドした Method オブジェクトを生成して返します。
NOTE: Ruby 1.8.xでモジュールのインスタンスメソッドをbindすると不審な挙動を するので避けるべきである。
# クラスのインスタンスメソッドの UnboundMethod の場合 class Foo def foo "foo" end end # UnboundMethod `m' を生成 p m = Foo.instance_method(:foo) # => #<UnboundMethod: Foo#foo> # Foo のインスタンスをレシーバとする Method オブジェクトを生成 p m.bind(Foo.new) # => #<Method: Foo#foo> # Foo のサブクラス Bar のインスタンスをレシーバとする Method class Bar < Foo end p m.bind(Bar.new) # => #<Method: Bar(Foo)#foo> # モジュールのインスタンスメソッドの UnboundMethod の場合 module Foo def foo "foo" end end # UnboundMethod `m' を生成 p m = Foo.instance_method(:foo) # => #<UnboundMethod: Foo#foo> # Foo をインクルードしたクラス Bar のインスタンスをレシーバと # する Method オブジェクトを生成 class Bar include Foo end p m.bind(Bar.new) # => #<Method: Bar(Foo)#foo>