From: Tanaka Akira Date: 2009-11-12T01:29:45+09:00 Subject: [ruby-dev:39667] Re: [Bug:trunk] Enumerator.new {|y| y << 1 << 2 << 3 } In article , Yusuke ENDOH writes: > 書いていて気がついたんですが、Generator#each は self ではなく proc の > 戻り値を返すようです。意図的なんでしょうか。 > > g = Enumerator::Generator.new {|y| y << 1 << 2 << 3; :foo } > p g.each {} #=> :foo ちょっとはっきりした記憶がないのですが、 e = Enumerator.new {|y| ... } e.each { ... } という形式でも、each の返り値を Enumerator 側で決められるよ うにするためだったような気がします。 [ruby-dev:39109] からの話は、イテレータメソッドの挙動を柔軟 に制御するという目的でしたから。 -- [田中 哲][たなか あきら][Tanaka Akira]