次のような 4 つの整数要素を持つ配列の配列があります。
arrays = [[a1,b1,c1,d1],[a2,b2,c2,d2],[a3,b3,c3,d3]]
これら 3 つの配列を追加します。結果は次のような 1 つの配列になるはずです。
result = [a1+a2+a3,b1+b2+b3,c1+c2+c3,d1+d2+d3]
私は試しましたが、これを行うことができませんでした。
次のような 4 つの整数要素を持つ配列の配列があります。
arrays = [[a1,b1,c1,d1],[a2,b2,c2,d2],[a3,b3,c3,d3]]
これら 3 つの配列を追加します。結果は次のような 1 つの配列になるはずです。
result = [a1+a2+a3,b1+b2+b3,c1+c2+c3,d1+d2+d3]
私は試しましたが、これを行うことができませんでした。
>> arrays = [[1,2,3,4],[2,3,4,5],[3,4,5,6]]
=> [[1, 2, 3, 4], [2, 3, 4, 5], [3, 4, 5, 6]]
>> arrays.transpose.map { |xs| xs.inject :+ }
=> [6, 9, 12, 15]
Railsを使用しているので、これは機能します:
arrays.transpose.map &:sum
簡単な例を次に示します。
a = [1, 2, 3]
b = [4, 5, 6]
c = [7, 8, 9]
[a, b, c].transpose.map { |x| x.reduce :+ }
=> [12, 15, 18]
詳細については、「転置、マップ、縮小を使用した配列マジック」を参照してください。