まつもと ゆきひろです
In message "[ruby-list:12082] Re: module in module"
on 99/02/15, TAKAHASHI Hitoshi <thitoshi / ne.scphys.kyoto-u.ac.jp> writes:
| 高橋です。お答え頂きありがとうございます。
|なるほど。しかしそうするといっそう、
|>> | そもそも、module 内で module を定義するメリットって何でしょう?
|この疑問の答えが分からなくなります。つまり、
|
|module MainModule
| ....
| module SubModule
| ....
| end
|end
|
|というのと
|
|module MainModule
| ....
|end
|module SubModule
| ....
|end
|
|と書いた場合との違いが分かりません。
違いは以下の通りです.
* 内側のモジュールは外側のモジュールを経由してしかアクセス
できない.つまりMainModule::SubModuleという形式か,また
は include MainModule; Submodule という形式でしか参照で
きない.
* 内側のモジュールからは外側のモジュールで陽に(includeとか
ではなく)定義されている定数が参照できる.
この違いが望ましいと思えば,ネストしたモジュールを使うわけで
すね.
|>> Tk::WmはTkCommを既にincludeしているクラスにincludeして使うこ
|>> とを想定していました.TkBalloonクラスでのWmの使い方によりま
|>> すが,明示的に include TkComm しておいた方が良い場合がありま
|>> したでしょうか?
|
|例えば、Window Manager の飾りとかのない hello world スクリプトとして、
すいません.私がうっかりしてました.include TkCommは必要です
ね.バグです.いかんなあ,えらそうに発言しておいて.
まつもと ゆきひろ /:|)