けいじゅ@日本ラショナルソフトウェアです.

In [ruby-list :28383 ] the message: "[ruby-list:28383] Re: argument to
instance_eval block ", on Mar/01 03:06(JST) Minero Aoki writes:

>あおきです。

>>   instance_eval    19
>>   module_eval      23
>>   eval             88
>> 
>> ですね. ね. 私もそんなには使っていません(^^;;;
>
>これだけ使ってればじゅうぶんです(笑)

そういえば, さすがに上記のカウントの中にいれませんでしたが, evalの結構多
い使用パターンとして以下のがありました.

  eval "test_"+ARGV.shift

やっぱ. eval系がすきなのかしらん(^^;;;

>> >一方 module_eval は「メソッドを定義するメソッド」がほとんどでした。
>> >(かなり、相当、かたよってるかも  ^^;;)
>> やっぱ, そんなものじゃないですか? わたしもそうです.
>ふたりしてかたよってる、という可能性も  ^^;;

そんなことないでしょう. 何か実行したいだけなら klass.instance_evalをすれ
ばいいのであって, module_evalはメソッド定義のためにあると信じています.

method(:print).call ObjectSpace._id2ref(type.module_eval { GC.disable or
attr :msg }.type.type.superclass.superclass.new.instance_eval { @msg , =
'Just another Ruby hacker,',__id__ }.pop).__send__ :msg unless not eval(
'respond_to? :methods')

む. むずかしい....


__
..............................石塚 圭樹@日本ラショナルソフトウェア...
----------------------------------->> e-mail: keiju / rational.com <<---