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