スレの流れでは、ブロックの引数がローカルじゃないってことになっているけど、
実は、ブロック内で使われる変数すべて、ローカルではないんだな…

a = 3
b = 8
pr = proc{a = 'ha?'; b = 'fuun'}
pr.call

ってやるとa='ha?' b='fuun'になっちまう。
なんか、手続きオブジェクトって呼ぶにしても中途半端な仕様な気がする。