けいじゅ@SHLジャパンです. 

In [ruby-list :02648 ] the message: "[ruby-list:2648] Re: help ", on
Apr/07 14:38(+0200) matz / caelum.co.jp (Yukihiro Matsumoto) writes:

>|この時の include って何をやっているんですか? というか include は正確に
>|はどういう働きをするものなのでしょうか?
>
>トップレベルのincludeはmainオブジェクトの特異メソッドで,
>Objectクラスにモジュールをincludeします.Objectは全てのクラ
>スのスーパークラスですから,includeされたものはどこからでも
>参照可能になるわけです.

んー. なるほどそういう動作をしていたのですか...

>クラスにモジュールをincludeするとそのモジュールで定義されて
>いるメソッドと定数が参照可能になります.メソッドと定数の探索
>順序は
>
>   自クラス -> includeされたモジュール -> スーパークラス
>
>になっています.

もっと正確には:

自クラス -> includeされたモジュール -> スーパークラス -> スーパークラ
スでincludeしたモジュール -> ...

でいいんですよね?

やっと話しが元に戻って, 気になることについてですが, トップレベルでイン
クルードされると method_missing()を利用した Proxyクラスなどは動作が変
わることになりますね. つまり, $_-moduleがあったとして, それをトップ
レベルでインクルードするとStringを利用したProxyクラスなどは動作が異なっ
てくることになりますね. こういう現象は問題ある/ない??

__
.....................................石塚 圭樹@SHLジャパン(株)...
------------->アドレス変わりました!! e-mail: keiju / shljapan.co.jp <----