2010年3月13日22:44 Yukihiro Matsumoto <matz / ruby-lang.org>:
>
> Enumerable#interleave というメソッドを追加してはどうかと思い
> ます。Clojureなどで見られるメソッドです。仕様は

提案には、なにはともあれまず具体的な用法がとてもとても重要です。
具体的でキャッチーでおぉそれは欲しいと思うような例があると
共感を呼びやすいのではないでしょうか。

rdoc にある例はちょっと無味乾燥で共感できません。

> /*
>  *  call-seq:
>  *     enum.interleave(arg, ...)                 => enumerator
>  *     enum.interleave(arg, ...) {|x| block }    => nil
>  *
>  *  Takes one element from <i>enum</i> and following arguments then
>  *  merges corresponding elements from each <i>args</i> into a flat
>  *  sequence.  If a block is given, it is invoked for each element,
>  *  otherwise an array of elements is returned.
>  *
>  *     a = [ 4, 5, 6 ]
>  *     b = [ 7, 8, 9 ]
>  *
>  *     [1,2,3].interleave(a, b)      #=> [1, 4, 7, 2, 5, 8, 3, 6, 9]
>  *     [1,2].interleave(a,b)         #=> [1, 4, 7, 2, 5, 8, 6, 9]
>  *     a.interleave([1,2],[8])       #=> [4, 1, 8, 5, 2, 6]
>  *
>  */

引数として受け付けるものがはっきりしません。
配列だけなのか、Enumerator 一般を受け付けるのか。
-- 
[田中 哲][たなか あきら][Tanaka Akira]