Hi, In message "[ruby-talk:12683] Re: FEATURE REQUEST: 'my' local variables" on 01/03/15, YANAGAWA Kazuhisa <kjana / os.xaxon.ne.jp> writes: |Then the snippet below show what value? | | foo = 0 | bar = 0 | 1.times do | foo = 1 | foo := 2 | bar = foo+1 | end | | puts foo, bar | |With the `policy' rules the current implementation probably foo in the |block is judged as block local variable at compile time, thus puts |prints 0 and 3. I think it would give 1 and 3. > foo = 0 > bar = 0 > 1.times do > foo = 1 # local variable foo > foo := 2 # block local variable foo, WARNING!! > bar = foo+1 # block local foo + 1 > end > puts foo, bar # local variable foo, bar |Introducing new variables at a beginning of the block is better for |me. Otherwise I should be more careful of where a variable belonging |to, since variables can suddenly become block local in a sequence of |code. I can understand you. matz.