On 8/25/06, rak rok <rakrok / gmail.com> wrote: > > a = 5 > > a() > > This would fail just like a.call() would fail. > > def say > > puts "hello" > > end > > > > say = proc { puts "goodbye" } > > > > say() # hello or goodbye? > > > I would say this would be similar to redefining a method, where the latest > definition takes precedence. Read up on the difference between a lisp 1 and a lisp 2. (Which is not intended to be condescending or dismissive; just that reams have been written on the topic and I see no point in rehashing it imperfectly in here.) Essentially it boils down to whether functions and variables share a namespace or not. martin