>522
irb(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はブロックローカル。
このルールはブロック引数も同じ。

こういう挙動がややこしいから、ブロックローカルのルールを変更しようという話が出ている。