lambdaの動作
いや,俺がおかしいことやってるかもだけど.
class Foo Map = { 'key1' = lambda { |bar| do something } 'key2' = lambda { |bar| do something } } def baz(key, bar) Map[key].call(bar) end end
って時に,do somethingの中から呼び出し元(Fooオブジェクトのインスタンス)のインスタンス変数とかって何とかして参照出来ないのかなと.やっぱりインスタンスに属する値を使うlambdaをクラスの定数として用意した方がおかしいか?
定数にした方がすっきりして見えるってだけで無理する必要ないのだけど,Rubyなら何とか出来そうとかなぁとか.