From: Yukihiro Matsumoto Date: 2007-09-30T00:24:07+09:00 Subject: [ruby-dev:31908] Re: generator from Enumerable#map まつもと ゆきひろです 反応が遅くてごめんなさい。 In message "Re: [ruby-dev:31847] Re: generator from Enumerable#map" on Tue, 25 Sep 2007 02:09:33 +0900, "Yusuke ENDOH" writes: |> 1.9 では、Enumerable#map や Enumerable#index をブロックなしで呼ぶと |> generator を返すようですが、これは Object#to_enum と何か異なるの |> でしょうか。 | |情けないことにまだわかってません。気になるので教えていただけません |でしょうか。 異なっていません。その存在に対称性以外の理由はありません。特 に便利だと思っているわけではないです。対称性(とか直交性)は Rubyの設計基準では優先度が低いので、なにか理由があればそれを ひっくりかえすことに異論はありません。 |> Enumerator で yield の返り値相当などを指定できるなら意味がありそうです。 |この拡張が特別に欲しいわけではないのですが、外部イテレータを fiber の |代用とするためには無いと不便なので、試しに実装してみました。 |# Fiber#resume の引数 (= Fiber.yield の返値) を指定できないので。 えーと、Fiberがないわけではない(っていうか外部イテレータが Fiberを使って実装されている)ので、特に外部イテレータをFiberの 代わりに使う必要はないんじゃないでしょうか。