50063横塚と申します。これまでの一連の議論、興味深く拝見してます。私もコンパイラ開発に携わっていたもので、「うん、うん、なるほど」と思いながら読んでおり、実装上の都合も十分理解しているのですが・・・ユーザの立場で言うと、未定義のまま参照されたらデフォルト値を返すよりも素直に「未定義」エラーになってくれた方が嬉しいような気がしてきました。数十行の使い捨てスクリプトを書くのなら良いのですが、数Ks以上のプログラムをまじめに作ろうと思うと、それなりの作法が必要と思います。作法には、変数には最初の参照前に初期値を代入するということも含みます。自分でのデバッグや、ましてや数年後に他人が自分の書いたスクリプトをエンハンスすることを想定すると、グローバル変数やインスタンス変数でも定数と同じ挙動をしてくれるのが一番嬉しいかな。実際にも、インスタンス変数をタイプミスしているのに、コンパイル時にはエラーとならず、実行時に変な動作をするので、やっと気付くということがまま有ります。私の感覚がおかしいのかな。言葉足らずにすみませんでした。その値を全体の評価値とする。真のとき,その評価結果を全体の評価値とする。未定義かどうかで区別しないということです。その値を全体の評価値とする。真のとき,その評価結果を全体の評価値とする。