Mike Gold wrote: If all assignments were the same, this would print '3': > > eval("a = 3", binding) > puts a > Or even better, eval("a = 3", binding) p local_variables #=> ["a"] p a #=> undefined local variable or method `a' We see that the local exists, but because the parser has not seen the "a = ..." syntax, we can't access it. -- Posted via http://www.ruby-forum.com/.