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 を切り替える方法だったりする。