From: Yukihiro Matsumoto Date: 2010-03-14T16:36:25+09:00 Subject: [ruby-dev:40637] Re: Enumerable#interleave まつもと ゆきひろです In message "Re: [ruby-dev:40633] Re: Enumerable#interleave" on Sun, 14 Mar 2010 11:28:10 +0900, Tanaka Akira writes: |> はからずもinterleaveのユースケースになってるのかもしれません。 | |この interleave はその interleave ではないような気がします。 そうか。Haskellがぜんぜん読めないのが露見しますね。恥ずかし いな。 |zip で以前、そのあたりが変わって戻ったような記憶があるんですが、 |どうでしたっけ? 確かにzipはちょっと揺らいだことがあって、ruby-coreで議論した ことがあります。結局、その時はレシーバーの長さ優先という結論 を出したのですが、今思えばあまり良くなかったなあと。たとえば、 with_indexのようなものをzipを使って作る場合、連番が先頭に来 れないというのはかなり大きな制約のような気がします。 |> http://code.activestate.com/recipes/511480-interleaving-sequences/ |> |> で紹介されているPython版は、なぜか残ったものを取り出し続ける |> 挙動になっていますが、これは使いにくいんじゃないかなあ。 | |そこで頭の中に浮かんでいる用途を書くのです。 考えたのは、interlave対象に無限列を含む場合です。たとえば with_indexをflattenしたようなものを得る時に、停止しないのは 使いにくかろうと。 |それとも本当に用途を思い浮かべずに使いにくいと感じるんでしょうか。 |そうだとしたら書けないかもしれませんが、そうなのかなぁ。 どうも、具体的になりきれないのがいけませんね。 まつもと ゆきひろ /:|)