>>>>> "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