Hi,

I've been playing with Ruby 1.9, and I found a case that seemed strange.
def foo; yield([1, 2]); end
foo { |a, *rest| p [a, rest] }
# displays [1, [2]]

def foo; yield([1, 2]); end
foo { |a = 42, *rest| p [a, rest] }
# displays [[1, 2], []]

Should not both display the same thing? Is there a special reason or  
logic behind?

Cheers,
Vincent Isambart