まつもと ゆきひろです

In message "[ruby-list:18837] Re: constant?"
    on 99/11/23, GOTO Kentaro <gotoken / math.sci.hokudai.ac.jp> writes:

|>  * 紳士協定じゃダメなの?
|
|紳士協定も嫌いではないんですが、Rubyほど動的だとすでに使用し
|ている名前なのかそうでないのかの判断を繁雑と感じるときもあり
|ます。知らずに重要な定数を再定義するのは意図しないことですか
|ら。defined? でチェックすると言う手もあるけど。

そーですねえ。それが嬉しいことがあることは同意します。

|>  * 再ロードの問題はどうするの?
|
|すみません、再ロードの必要があるときってどんなのでしょう?? 
|require でしかロードしたことないので問題を分かっていません。
|どうしても再ロードする必要がある場合は、一旦代入禁止を解除し
|てから再ロードと言うのは駄目でしょうか??

たとえば、ブラウザを含む開発環境のようなものをRubyで開発しよ
うと思えば、そのような機能が必要になりません? 事実、
mod_rubyやRuby/JEDのようなシチュエーションでは時々欲しくなります。

代入禁止を解除してから再ロードというのは「代入禁止」の挙動が
未定義なのでだめかどうか判断できません。

|>  * シンボルってのも使えない?
|
|ファイル名のデフォルト値や原さんの挙げた Math::E みたいに値
|が必要な場合には使えないですね。そういうことではなく??

あ、これは永井さんの要望に対してはという意味です。Math::Eな
どについては適用できないのは理解してます。これらの場合、数学
的に定数なのは事実ですが、プログラミング言語として定数である
必要があるのかは、確信が持てていません。

ある種の「定数」は書き換えを禁止できた方が嬉しい場合があるの
は当然理解しているのですが、それをプログラミング言語全体の設
計の中でどう位置付け、どう説明して、どう実装するのが望ましい
かというのがまだ私の中でクリアになっていません。

                                まつもと ゆきひろ /:|)