From: Tanaka Akira Date: 2008-02-17T14:05:45+09:00 Subject: [ruby-dev:33822] Re: Array の product の戻り値 In article , Yukihiro Matsumoto writes: > 一方、productの場合にはあくまでも直積を計算するということで、 > ブロックを指定する方法を提供していません。私自身は実生活で配 > 列の直積を使うことがないので具体的にイメージできないのですが、 > 配列が返ってきて > > ar.product(ar2).each {|x| p x} > > とするよりも > > ar.product(ar2) {|x| p x} > > とする方がうれしいものなのでしょうか。 思い出したんですが、しらみつぶしにテストを行うときに直積を実 際に使っています。たとえば test_m17n_comb.rb や test_sprintf_comb.rb ではそういうメソッドをそれぞれに定義し ています。 この場合、直積を一気に生成するメモり消費は不要なので、イテレー タのほうが気分がよろしいというのはありますね。 ただ、現時点で調べてみたところ、41要素の配列を 3つ組み合わせ る 68921個のが最大で、生成してもそんなに困るというわけではな い感じですが。 -- [田中 哲][たなか あきら][Tanaka Akira]