On 2006-03-27 07:46:15 -0800, "Mohammad Khan" <beeplove / gmail.com> said: >> Seems like a rare thing to do. This is another thing you cannot do with >> the proposed change: >> >> last = nil >> enum.each {|last|} >> puts "last was #{last}" > > last = nil > last = enum.last > > > I think, out of 100 uses of iterator, less then one would be the > example you shown above. > > Key point of this thread was, what is more convenient, > To keep variable in iterator scoped in its block, even though the same > name already used as vairable name or not. Regardless of where it's used, ruby does not have dynamic scoping (explicitly or implicitly)