>>>>> "H" == Hugh Sasse Staff Elec Eng <hgs / dmu.ac.uk> writes:

H>         for lhs... in expr [do]
H>           expr..
H>         end
[...]
H>         (expr).each `{' `|' lhs..`|' expr.. `}'

H> Which rather suggests new scope *is* created...  

H> I would advocate the simplest (in terms of number of different cases)
H> rules of scope possible, and that block parameters should have scope
H> for that block only.  Principle of least to remember? :-)

 If you look in ruby-man you'll see that 'for' is defined in 'Ruby syntax'
 like `while'.

 You don't have a dynamic scope for while, this is the same for 'for'

 'each' is a method which "yield" a block.

Guy Decoux