Methodオブジェクト
Object#methodでMethodオブジェクトを生成します。Methodオブジェクトは取得元のインスタンス(レシーバ)と関連づけられていて、Method#callでレシーバのメソッドを実行できます。
サンプル:
class Kitten def initialize( name ) @name = name end def meow puts @name + ":meow!" end end mii = Kitten.new( "mii" ) # メソッドを取得 # メソッドはレシーバ(Kittenのインスタンス"mii")と関連づけられる meow = mii.method( :meow ) meow.call
出力:
mii:meow!
Flexにあったバインドメソッドですが、Rubyにも同じような機能があったわけです。