けいじゅ@日本ラショナルソフトウェアです. In [ruby-list :28353 ] the message: "[ruby-list:28353] Re: argument to instance_eval block ", on Feb/27 20:54(JST) Minero Aoki writes: >あおきです。 >> 何か使いまくっているような書き方されていますが... >いやいや、相対指定ですから(笑) うーん. どうでしょう? 実際に調べてみると... >> instance_evalよりも module_eval/evalのほうが使用頻度はズート多いですね >> (^^;;; > >それは同感です。ぼくは明らかに module_eval が一番多いっす。 > >どれくらい違うのか grep */*.rb | wc -l してみると、 > > instance_eval 19 > module_eval 34 > eval 19 > >意外に少ない。 では. 私も instance_eval 19 module_eval 23 eval 88 ですね. ね. 私もそんなには使っていません(^^;;; あと, evalがめちゃくちゃ多いですが, module_evalができたのが比較的最近な ので, 本来であればmodule_evalのほうがよいようなものも含まれているんじゃ ないかしら? >ちなみに instance_eval の目的別内訳は > > インスタンス変数アクセス 11 > 一時環境作成 6 > よくわかんない 2 > >でした。やっぱりインスタンス変数アクセスが多いみたい。 私は... インスタンス変数アクセス 10 一時環境作成 8 よくわかんない 1 ですね. 大体同じですね. >一方 module_eval は「メソッドを定義するメソッド」がほとんどでした。 >(かなり、相当、かたよってるかも ^^;;) やっぱ, そんなものじゃないですか? わたしもそうです. >> 最近はprotectedができたのでだいぶ必要性は少なくなっていますが... C++の >> friend見たいのがあればさらによいのかも. > >ぼくは継承の壁を越えたいときは private にして __send__ 使うように >してます。instance_eval よりはちょっと気楽なので。 なるほど. そっちのほうが良いかも. __ ..............................石塚 圭樹@日本ラショナルソフトウェア... ----------------------------------->> e-mail: keiju / rational.com <<---