RUBY_DESCRIPTION #=> ruby 1.9.0 (2008-09-14 revision 19335) [i686-linux] def m [[1, 2], [3]].each do |a| yield(*a) end end # method m{|a, b = :default| p [a, b]} # => [1, :default], [3, :default] # proc pr = proc{|a, b = :default| p [a, b]} m(&pr) #=> [1, :default], [3, :default] # lambda lmd = lambda{|a, b = :default| p [a, b]} m(&lmd) #=> [1, 2], [3, :default]
と、いうことでいいんだろか?lambda(-> も同じ)の挙動の方が便利そうだけど……
ホントに知りたいのは、M-x xmp で 1.8 と 1.9 を切り替える方法だったりする。