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