Gavin Sinclair wrote:
> What do you mean?  If "a" is defined, then "for a in x" and "x.each do |a|"
> both clobber the previously-defined "a".  I don't see the difference for
> variables inside the block either.

There is a difference if the variables are not previously defined:

(1..3).each {|x|}
p x # NameError

for y in 1..3; end
p y # ==> 3