In article <20020211224442.48d0e668.hayase / hcn.zaq.ne.jp>,
  Yasuhiro Hayase <hayase / hcn.zaq.ne.jp> writes:

> 説明ありがとうございます。納得しました。動的なスコープは確かにややこしいで
> すね。宣言文中で代入前に値が使えてしまうのが、(おもしろい|何となく気持悪い)
> ので質問してみました。

宣言文中とは限りません。

if false
  a = 1
end
p a

とか。

> あえて宣言文の途中で、代入前に変数の値を使った場合にエラーを出そうと思うと、

ちなみに、Java では初期化されていない可能性がある変数を参照することを
禁止しています。Definite Assignment というやつですが、このようなことに
興味を持つなら言語仕様を読んでみるとおもしろいかも知れません。
-- 
[田中 哲][たなか あきら][Tanaka Akira]
「ふえろ! わかめちゃん作戦です$(C⊇」(Little Worker, 桂遊生丸)