From: Wilson Bilkovich Date: 2007-09-09T12:30:39+09:00 Subject: Re: Bug in lambda? On 9/8/07, kevin cline wrote: > This looks like a pretty serious bug. It seems that lambda- > expressions are not properly localizing their formal arguments: > > bash-3.2$ ruby --version > ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32] > > bash-3.2$ cat lambda-bug.rb > a = 0 > f = lambda { |a| a } > puts "a = #{a}" > puts "f.call(1) => #{f.call(1)}" > puts "now a = #{a}" > > bash-3.2$ ruby lambda-bug.rb > a = 0 > f.call(1) => 1 > now a = 1 > This is the expected behavior of Ruby 1.8. 'lambda' and 'proc' are expected to diverge further in future versions.