ブロックで使われる前に名前が登場したローカル変数は、
ブロック内でそのまま見える。
ブロック内で初めて登場したローカル変数はブロック内のみで有効。

実はこの仕様はRubyの混乱を呼ぶ点の代表選手で、将来的には変わる可能性がある。