Ruby でゴーストメソッド
Ruby でゴーストメソッドを書いてみた。
class X def initialize value @value = value end def method_missing name, *args @value.send name, *args end end n = X.new 42 p n + 3 p n - 4 ary = X.new [1, 2, 3] p ary.include? 2
ゴーストメソッドとは『存在しないメソッドを存在するかのように振る舞うメソッド』のことをさす。
Ruby では method_missing
を使用して定義する事ができる。
Ruby のメタプログラミングでは割とポピュラーな技法になる。