[#352] ruby 1.1a5 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

38 messages 1997/09/01
[#353] Re: ruby 1.1a5 released — keiju@... (石塚圭樹 ) 1997/09/01

[#354] Re: ruby 1.1a5 released — matz@... (Yukihiro Matsumoto) 1997/09/01

まつもと ゆきひろです

[#356] Re: methods [Re: ruby 1.1a5 released] — matz@... (Yukihiro Matsumoto) 1997/09/01

まつもと ゆきひろです

[#357] Re: methods [Re: ruby 1.1a5 released] — keiju@... (Keiju ISHITSUKA) 1997/09/01

けいじゅ@日本ラショナルソフトウェアです.

[#359] Re: methods [Re: ruby 1.1a5 released] — matz@... (Yukihiro Matsumoto) 1997/09/02

まつもと ゆきひろです

[#363] Re: methods [Re: ruby 1.1a5 released] — matz@... (Yukihiro Matsumoto) 1997/09/02

まつもと ゆきひろです

[#374] Re: methods [Re: ruby 1.1a5 released] — matz@... (Yukihiro Matsumoto) 1997/09/02

まつもと ゆきひろです

[#376] Re: methods [Re: ruby 1.1a5 released] — keiju@... (Keiju ISHITSUKA) 1997/09/02

けいじゅ@日本ラショナルソフトウェアです.

[#382] Re: methods [Re: ruby 1.1a5 released] — matz@... (Yukihiro Matsumoto) 1997/09/02

まつもと ゆきひろです

[#390] Re: methods [Re: ruby 1.1a5 released] — keiju@... (Keiju ISHITSUKA) 1997/09/03

けいじゅ@日本ラショナルソフトウェアです.

[#391] Re: methods [Re: ruby 1.1a5 released] — matz@... (Yukihiro Matsumoto) 1997/09/03

まつもと ゆきひろです

[#441] How to report a bug — takagi@... (TAKAGI Hiromitsu)

Bus error が出ました。

15 messages 1997/09/09

[#461] [Q] ruby-socket(mswin32) — Masaki Suketa <suke@...>

助田です

27 messages 1997/09/11
[#462] Re: [Q] ruby-socket(mswin32) — matz@... (Yukihiro Matsumoto) 1997/09/11

まつもと ゆきひろです

[#463] Re: [Q] ruby-socket(mswin32) — Masaki Suketa <suke@...> 1997/09/11

助田です

[#464] Re: [Q] ruby-socket(mswin32) — matz@... (Yukihiro Matsumoto) 1997/09/11

まつもと ゆきひろです

[#467] Re: [Q] ruby-socket(mswin32) — WATANABE Hirofumi <watanabe@...> 1997/09/11

わたなべです.

[#594] BUG?(marshal) — Masaki Suketa <suke@...>

以下のプログラムを実行した時に(3)と(4)で出力結果が違います。

17 messages 1997/09/30

[ruby-dev:535] Re: Assigne to special variable

From: "EGUCHI Osamu" <eguchi@...>
Date: 1997-09-26 03:41:58 UTC
List: ruby-dev #535
えぐち です。

----------
> まつもと ゆきひろです
> 
> |えぐち です。
> 
> |全てのモジュールで 定数TRUE を定義しない限りだめでしょうか?
> |モジュール定義に hook はないですか、、これは邪道の境地になってしまう
> 
> いまんとこないです.

「モジュール定義時へのフックでないと出来ないこと」
が定数 TRUE への代入の阻止以外にもあったり、
そこでするのが一番合理的(か効率的な)処理が見つかったら
つけたいですね。

「TRUE=hogehoge」問題の解決の為だけにはもったいないです。


> |> 定数システムは特異ではありますが,いろいろ考えて作られている
> |> んで変更しようと思ったらなかなか深い議論を呼びますよ.
> |> # 脅しているわけじゃないんですけど.
> |
> |どうしてこういう形に落ち着いてか興味が尽きません。
> 
> なぜ定数になったか,という話は以前にもしましたが,結局はクラ
> ス変数がどこのクラス(あるいはモジュール)に属するかを決定する
> ことができないからです.
> 
> では,どうして書き換え可能になったか,というと include が動
> 的に行う事ができるからです.つまり,自分のところで定義してい
> る定数と同じ名前の定数を定義しているモジュールをインクルード
> する事は結局定数の上書きになってしまいます.ということは,他
> のところで禁止するのも意味が無いなあ,ということで,サブクラ
> スによる上書きを許す事になっています.
> 
> |STDIN を「しょうがない」と断言されるところを見ると
> |include する Module によって定数シンボルが意味を変えるのを
> |重要な機能と位置づけているんですね。
> 
> というか,現実的な仕様で禁止することができそうにないなあ,と
> 思っています.

実世界でも同じ記号に複数の意味がマップされているので
定数がモジュールスコープだと、それを表現しやすいですね。

特に 物理と数学 や 電気工学と機械工学 の間の定数の
衝突などすさまじいものがあるので、結構便利な機構だとおもいます。

で、「TRUE=」問題への *パラノイア的な* 解として、

	if ( Kernel::TRUE ) 
	    ...
	end

ってのがありますね、(ぜったい流行りそうにないけど)

とりあえず、'モジュール::定数' のフォームなら
オーバーロードは避けれれるので、効果的だとか思います。

単項前置の :: を Kernel:: の同義語にするのもいいかもしれません。
(parse する上では衝突はないと思います)

In This Thread

Prev Next