On Tue, Apr 29, 2003 at 11:20:56AM +0900, Yukihiro Matsumoto wrote: > 'yield semantics' is assignment between block parameters and yield > arguments, so that > > |a| given 1 argument x works as a = x > |a| given 2 arguments x, y works as a = x, y > > That's because block parameters are originally loop variables. Ah, right. So if you were to change that, you'd probably also have to get rid of a = x, y Personally I would always write a = [x, y] if I wanted to do that, as it makes the intention clearer; or there's always *a = x, y I hardly ever use parallel assignments though, so it's hard for me to say how it would affect things. Cheers, Brian.