matz / ruby-lang.org (Yukihiro Matsumoto) writes: > def foo(obj) > obj.each do |x| > p x > end > end > > foo({1=>2, 2=>4}) > > the following assignments are done internally: > > x = 1, 2 > x = 2, 4 > > We can remove "a = 1,2,3" from the syntax, but we cannot remove it > from iterators. True, except if you _wanted_ to force coercion into an array in block arguments, you could always use the syntax obj.each do |*x| ... That keeps the semantics clean and consistent Cheers Dave