まつもと ゆきひろです

In message "[ruby-list:23811] Re: net/smtp"
    on 00/07/12, Minero Aoki <aamine / dp.u-netsurf.ne.jp> writes:

|> あ、include Net してるからか...やっぱりNet::Socketはマズい名
|> 前なのかなあ。当面、これをはずして Net::SMTP のような形式で
|> クラスにアクセスしてくださいませ。
|
|あ、なるほど。でもそれじゃ結局 module に入れても名前空間は
|分離されないってことになりますね。ということはやっぱりクラス名には
|プリフィックスとかをつけないと動作を保証できなくなるわけで、
|あんまりうれしくないですね。

そうなんですよ。今、気が付いたんですけどね。
名前空間の扱いについてちょっと考えた方が良さそうですね。

トップレベルで

  include Net

した以上はNetの定数(Socket含む)がトップレベルの定数になるわ
けで、現在の定義が「::定数」の定義が「Objectの定数」である以
上、そうした場合 ::Socket が Net::Socket を参照するのはむし
ろ当然のような気がします。

これに対応するためには「::定数」の挙動を変えることが有効のよ
うな気がしますが、どのような変更が望ましいのかすぐには判断で
きません。
                                まつもと ゆきひろ /:|}