From: Yusuke ENDOH Date: 2009-11-12T21:28:33+09:00 Subject: [ruby-dev:39675] Re: [Bug:trunk] Enumerator.new {|y| y << 1 << 2 << 3 } 遠藤です。 2009年11月12日21:11 Akinori MUSHA : > つまり、ユーザが y.instance_of?(Yielder) などとしだすともう特異 > オブジェクトを返すように変えることはAPI変更になってしまいますが、 > y.is_a?(Yieldable) と y.respond_to?(:yield) (および :<<)しか仮定 > させないことで、 extend Yieldable した特異オブジェクトを返しても > 互換性の問題なしというわけです。 なるほど。いいと思います。 Yielder を匿名クラスにすれば完璧だと思います。 -- Yusuke ENDOH