調べたところRubyの制御構造は一般に独自のスコープを持たない（ブロック、メソッド定義、クラスorジュール定義、トップレベルだけがローカル変数を持てる）ということですね。`if`は気をつけないと間違えそうです...ありがとうございました。