lambdaでyield
なんとなく、できないかなぁと思って、やってみたらできなかった。
irb(main):001:0> hoge =lambda{ yield(10) } => #<Proc:0x004dcdbc@(irb):1> irb(main):002:0> hoge.call{|v| puts v } LocalJumpError: no block given from (irb):1 from (irb):3:in `call' from (irb):3
lambdaで定義しているときに、ブロックが渡されていないといけないみたいか。でも、Rubyは2個とかブロック渡せないしなぁ。Procでわたすようにしないとできないかぁ。
うーん。まぁ、使えなくて問題があることは無いんだけど。