けいじゅ@いしつかです.

In [ruby-dev:39807] the message: "[ruby-dev:39807] Re: バグ? ブロック
引数で to_ary が呼ばれる必要のない場面で呼ばれる", on Nov/28
16:14(JST) Yukihiro Matsumoto writes:

>まつもと ゆきひろです

>name属性がセットされてないからですね。
>  raise NoMethodError.new(message, :to_ary)
>としてください。

なるほど. method_missingの場合もそれでよいわけですね?

>|で, delegator.rb のなかを見ると:
>|      target = self.__getobj__
>|      unless target.respond_to?(m)
>|        super(m, *args, &block)
>|      else
>|        target.__send__(m, *args, &block)
>|      end
>|となっていて, respond_to? がありますが, なぜこんなことやっているのでしょ
>|う? これがらみ?
>
>そうです。

うーん. なるほど. とはいえ, DeepConnectでこれをやるわけにもいかないで
すが...

ところで, to_ary が呼ばれるのは, ブロックの仮引数にオプショナルな引数
があるときだけですか? メソッドの場合にも呼ばれたりすることあります?


__
---------------------------------------------------->> 石塚 圭樹 <<---
---------------------------------->> e-mail: keiju / ishitsuka.com <<---