From: Shugo Maeda Date: 2002-03-08T15:52:54+09:00 Subject: [ruby-dev:16271] Re: pstore.rb and sync.rb 前田です。 At Fri, 8 Mar 2002 15:26:09 +0900, matz@ruby-lang.org (Yukihiro Matsumoto) wrote: > |> それと、ややオブジェクト生成のコストが上がるのが気になるとい > |> えば気になります。 > | > |initialize_forを定義しなかった時のコストがそんなに悪くなければ(た > |とえばフラグのチェックとかで済めば)、そんなに気にならないと思うの > |ですが、どうでしょう。 > > たぶん、するならKernel.initialize_for()をなにもしないメソッ > ドにしておいて、それを呼ぶという実装にすると思います。 Module#initialize_forでなくてKernel.initialize_forなんです? > とすると、コストは > > * そのオブジェクトのCLASS_OF()の全ancestorsからmoduleを選 > び、それぞれについて1回メソッド呼び出し > > ということになります。まあ、たいしたことはないというか、すべ > てのオブジェクトについてだから馬鹿にできないというか。 Moduleオブジェクトにinitialize_forを持っているかどうかのフラグを 持たせて、フラグのチェックくらいのコストに押さえることはできない ですかね。 # 今度はフラグの更新のコストが問題になりそうですが。 > あと、initialize_for()って名前(「動詞+前置詞」パターン)はあ > んまり好きな名前じゃないです。 extend_objectにならって、initialize_objectとか。 -- 前田 修吾