From: Yasuhiro Hayase Date: 2002-02-11T22:44:44+09:00 Subject: [ruby-list:33839] Re: 変数の宣言 早瀬@阪大です。 返事が遅れてしまいました。すみません。 > * ローカル変数のスコープは静的に決まるべき、つまり代入文が > 実行されたら変数が存在するというルールは*良くない* > > なぜなら、動的なスコープは分かりにくいし、せっかくの数少 > ない最適化の機会を奪うことになるから。 説明ありがとうございます。納得しました。動的なスコープは確かにややこしいで すね。宣言文中で代入前に値が使えてしまうのが、(おもしろい|何となく気持悪い) ので質問してみました。 あえて宣言文の途中で、代入前に変数の値を使った場合にエラーを出そうと思うと、 「宣言されているが初期化されていない状態」を導入して、宣言文の終りで「初期 化されていない状態」であった場合にはデフォルトの初期値(nil)を代入する、と いった処理が必要になると思うのですが、ちょっとやり過ぎですね。 x=x などという、自分の足に狙いをつけて撃つようなことをしているのだから、止 める必要もありませんし。 -- 早瀬 康裕 大阪大学基礎工学部情報科学科数理科学コース