>>>>> "Y" == Yukihiro Matsumoto <matz / zetabits.com> writes: Y> `for' modifier makes iteration variables appear AFTER the body of the Y> block. It would make programmers surprise. Sometimes you can have surprise with an unless :-) For example, there is in ruby/lib/ a script which define a method like this (I think, this is a cut/paste) def toto(a) b = b.id unless b # ... end If you read the nodes and try to rewrite the source, without taking care, you end with def toto(a) unless b b = b.id end end and you have an error :-) Guy Decoux