From: matz@... (Yukihiro Matsumoto) Date: 2002-03-08T04:15:32+09:00 Subject: [ruby-dev:16267] Re: pstore.rb and sync.rb まつもと ゆきひろです In message "[ruby-dev:16266] Re: pstore.rb and sync.rb" on 02/03/08, 石塚圭樹 writes: |えー. ちょっと書き方が悪かったせいか, 色々な解釈がでていますが, これが正 |解です(^^;;; オブジェクトの初期化がしたかったんです. | |# さすが, まつもとさん付き合いが長い(^^;;; どういたしまして。そういえばもう10年以上になりますねえ。 |>複数モジュールがincludeされたときには当然複数のモジュールが |>それぞれmodule_initializeを持つことになるわけで、うっかり |>superが呼ばれないという問題はあいかわらず発生するように思い |>ます。 | |ですが, 作る人と使う人がどっちが注意すべきかという問題を考えると, クラス |側で常にsuperを呼べと言うよりは, モジュールでオブジェクトの初期化を行い |たいなら, Module#module_initializeを呼び, かつその中ではsuper呼べという |ならまだ問題は少なそうだと思いません? 現状の「initializeで必ずsuperを呼べ」よりは少ないのは認めま しょう。 | Mod.initialize_for(obj) | |が呼ばれるというのは? そーですねえ。superの問題はなくなりますね。ただ、objのメソッ ドでないので内部構造にアクセスしにくい(ので、きっとインスタ ンスメソッドを呼び返すことになる)というのは嬉しいのか嬉しく ないのか分かりませんね。 それと、ややオブジェクト生成のコストが上がるのが気になるとい えば気になります。 まつもと ゆきひろ /:|)