--- Reza Primardiansyah <[EMAIL PROTECTED]> wrote:
> breaking backward compatibility, yes. But 1.9 is going to be 2.0, the proper
> place to major change. I actually expect the new behavior, though
major change is not an excuse for ignoring any backward compat problem :-)
unless the 2.0 is an entirely new language :-)
playing a little bit more:
[EMAIL PROTECTED] ruby]$ ~/ruby-1.9.0-dev/bin/irb
irb(main):001:0> def foo
irb(main):002:1> yield
irb(main):003:1> end
=> nil
irb(main):004:0> bar = "ok"
=> "ok"
irb(main):005:0> foo { bar = "nok" }
=> "nok"
irb(main):006:0> bar
=> "nok"
hmm.. still the old behaviour.
irb(main):007:0> def foo
irb(main):008:1> yield "nok"
irb(main):009:1> end
=> nil
irb(main):010:0> bar = "ok"
=> "ok"
irb(main):011:0> foo { |bar| }
=> nil
irb(main):012:0> bar
=> "ok"
so it affects only block argument.
but:
[EMAIL PROTECTED] rubinius]$ shotgun/rubinius
irb(main):001:0> def foo
irb(main):002:1> yield
irb(main):003:1> end
=> #<CompiledMethod:0x341 name=foo file=(irb)>
irb(main):004:0> bar = "ok"
=> "ok"
irb(main):005:0> foo { bar = "nok" }
=> "nok"
irb(main):006:0> bar
=> "nok"
irb(main):007:0> def foo
irb(main):008:1> yield "nok"
irb(main):009:1> end
=> #<CompiledMethod:0x369 name=foo file=(irb)>
irb(main):010:0> bar = "ok"
=> "ok"
irb(main):011:0> foo { |bar| }
=> nil
irb(main):012:0> bar
=> "nok"
rgds,
Edwin.
________________________________________________________
Kunjungi halaman depan Yahoo! Indonesia yang baru!
http://id.yahoo.com/