- 動的ディスパッチ
- send
class Dog def bark "bow wow!" end end Dog.new.send(:bark) #=> "bow wow!"
- パターンディスパッチ
- instance_methods.grep /pattern/
class Dog def bark "bow wow!" end end method = Dog.instance_methods.grep(/bark/).first Dog.new.send(method) #=> "bow wow!"
- 動的メソッド
- define_method
class Dog define_method :bark do "bow wow!" end end Dog.new.bark #=> "bow wow!"
- method_missing
- ゴーストメソッド
- レシーバが知らないメソッド呼び出しが method_missing で処理された (respond_to? は false)
- 動的プロキシ
- method_missing で元の呼び出しを一部変更して別のオブジェクトを呼びなおす
- respond_to? が true になるようにするにはオーバーライドする
- ブランクスレート
- ゴーストメソッド
- 作者: Paolo Perrotta,角征典
- 出版社/メーカー: KADOKAWA/アスキー・メディアワークス
- 発売日: 2010/08/28
- メディア: 大型本
- 購入: 18人 クリック: 533回
- この商品を含むブログ (125件) を見る