まつもと ゆきひろです

In message "[ruby-dev:16245] Re: pstore.rb and sync.rb"
    on 02/03/07, 石塚圭樹 <keiju / rational.com> writes:

|これって, mix-in系のモジュールでは全てある問題ですよね. monitor.rbと
|mutex_m.rbとか... 
|
|オブジェクトを初期化するときにインクルードされているモジュールに関する初
|期化がinitializeでしかできないところに問題があるような気がします.
|
|object.extend Module
|
|の時には, extend_objectを変更すればいいわけですが, 同様の仕組みと言うか
|initializeには関係なく呼ばれるメソッドがあるのが望ましくないでしょうか? 
|たとえば,オブジェクトを作成したときには, かならず module_initializeが呼
|ばれるとか?

問題(オブジェクトを初期化するときにインクルードされているモ
ジュールに関する初期化がinitializeでしかできない)には同意し
ますが、解決案(オブジェクトを作成したときにはかならず 
module_initializeが呼ばれる)には賛成しません。

複数モジュールがincludeされたときには当然複数のモジュールが
それぞれmodule_initializeを持つことになるわけで、うっかり
superが呼ばれないという問題はあいかわらず発生するように思い
ます。

とはいえ、もっとよいアイディアは持ってないのですが。

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