From: Einar Karttunen Date: 2002-04-26T16:00:23+09:00 Subject: Illogical proc argument binding Hello Procs seem to bind their arguments in an illogical way: def foo yield 1,2,3 end def bar yield 1 end foo { |o| p o } #=> [1, 2, 3] bar { |o| p o } #=> 1 foo { |o,q| p o; p q } #=> 1, 2 bar { |o,q| p o; p q } #=> 1, nil So if the proc takes 1 argument and there were multiple arguments in the yield they are bound to an array but otherwise they are bound normally. - Einar Karttunen