>>>>> "M" == Matt Armstrong <matt+dated+1007575275.8c2843 / lickey.com> writes:

M> Does the number of arguments used in the block (|i| -vs- |a,b|) change
M> the way yield calls the block?

 No, the the number of arguments used in the block (|i| -vs- |a,b|) change
 the *interpretation* of the arguments

 With |i|  all arguments are in an Array
 With |a, b| only the first two arguments are stored in a, b

pigeon% irb
irb(main):001:0> def each() yield 1,2,3,4,5,6,7,8,9; end
nil
irb(main):002:0> each() {|i| puts i.type}
Array
nil
irb(main):003:0> each() {|a, b| puts a.type, b.type}
Fixnum
Fixnum
nil
irb(main):004:0> each() {|i,| puts i.type}
Fixnum
nil
irb(main):005:0>
pigeon% 


Guy Decoux