--- 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/

Kirim email ke