From: Mauricio Fernandez Date: 2005-08-22T07:51:31+09:00 Subject: Re: [BUG] bug in variable assignment On Wed, Aug 10, 2005 at 06:38:19PM +0900, Mauricio Fern�ndez wrote: > On Wed, Aug 10, 2005 at 10:40:15AM +0900, Yukihiro Matsumoto wrote: > > Instead we should fix optional arguments and rest arguments NOT to > > modify outside variables. > > I see, I picked the wrong semantics. > The above should also apply to block arguments then. > > $ ./ruby -ve "b=1; ->(&b){}.call; p b" > ruby 1.9.0 (2005-08-10) [i686-linux] > nil Maybe not? > diff -p -u -r1.402 parse.y > --- parse.y 10 Aug 2005 01:39:23 -0000 1.402 > +++ parse.y 10 Aug 2005 09:18:04 -0000 [...] > diff -p -u -r1.1 test_lambda.rb > --- test/ruby/test_lambda.rb 8 Aug 2005 23:24:29 -0000 1.1 > +++ test/ruby/test_lambda.rb 10 Aug 2005 09:18:04 -0000 [...] > $ ./ruby -we "b=1; ->(&b){}.call; p b" > -e:1: warning: shadowing outer local variable - b > 1 > $ ./ruby -w test/ruby/test_lambda.rb > test/ruby/test_lambda.rb:40: warning: shadowing outer local variable - b > test/ruby/test_lambda.rb:58: warning: shadowing outer local variable - a > test/ruby/test_lambda.rb:58: warning: shadowing outer local variable - b > test/ruby/test_lambda.rb:58: warning: shadowing outer local variable - c > test/ruby/test_lambda.rb:58: warning: shadowing outer local variable - d > test/ruby/test_lambda.rb:58: warning: shadowing outer local variable - e > Loaded suite test/ruby/test_lambda > Started > ....... > Finished in 0.008198 seconds. > > 7 tests, 26 assertions, 0 failures, 0 errors -- Mauricio Fernandez