From: Magnus Holm Date: 2010-07-09T07:08:24+09:00 Subject: [ruby-core:31139] Re: [Bug #3552] Map doesn't accept multiple arguments for its block converted from lambda That's not a bug. lambda behaves differently from Proc.new/proc: >> l = lambda { |x,y| x + y } => # >> l.lambda? => true >> [[1,2],[3,4]].map(&l) ArgumentError: wrong number of arguments (1 for 2) from (irb):1:in `block in irb_binding' from (irb):3:in `map' from (irb):3 from /Users/magnus/.rvm/rubies/ruby-1.9.2-preview3/bin/irb:17:in `
' >> l = proc { |x,y| x + y } => # >> l.lambda? => false >> [[1,2],[3,4]].map(&l) => [3, 7] // Magnus Holm On Thu, Jul 8, 2010 at 23:47, aduket aduket wrote: > Bug #3552: Map doesn't accept multiple arguments for its block converted from lambda > http://redmine.ruby-lang.org/issues/show/3552 > > Author: aduket aduket > Status: Open, Priority: Normal > ruby -v: 1.9.1 > > Following raises wrong number of arguments error: > > irb(main):001:0> l=lambda{|x,y| x+y} > => # > irb(main):002:0> [[1,2],[3,4]].map(&l) > ArgumentError: wrong number of arguments (1 for 2) > �� �� �� ��from (irb):2:in `map' > �� �� �� ��from (irb):2 > �� �� �� ��from C:/Ruby191/bin/irb:12:in `
' > > > ---------------------------------------- > http://redmine.ruby-lang.org > >