Ruby初心者スレッド Part 11
■ このスレッドは過去ログ倉庫に格納されています
0523デフォルトの名無しさん
2007/04/15(日) 15:53:54irb(main):001:0> a = 1
=> 1
irb(main):002:0> 1.times{ a = 0 }
=> 1
irb(main):003:0> a
=> 0
irb(main):004:0> 1.times{ b = 0 }
=> 1
irb(main):005:0> b
NameError: undefined local variable or method `b' for main:Object
from (irb):5
aは外の変数を参照、bはブロックローカル。
このルールはブロック引数も同じ。
こういう挙動がややこしいから、ブロックローカルのルールを変更しようという話が出ている。
■ このスレッドは過去ログ倉庫に格納されています