久しく触ってなかったRuby。
ちょっとした事情で触ることに。
evalを使ってみました。文字列でrubyのプログラムを渡してやれば実行してくれる代物っぽい?
試しに
eval "puts \"Hello world\""
と書いて実行するとHello worldが出た。
ふむ
attr_accessorみたいなのを作るには
class MyBase
def my_acessor name
eval <<-E
def #{name}()
return @#{name}
end
def #{name}= param
@#{name} = param
end
E
end
end
a = MyBase.new
a.my_acessor "hoge"
a.hoge = 100;
puts a.hogeこうすればいいのかぁ?
あってるのかは謎だけど似たような動きはしてるっぽい