-1

次のような 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

3 に答える 3

4
>> 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]
于 2013-07-23T07:06:00.993 に答える
2

Railsを使用しているので、これは機能します:

arrays.transpose.map &:sum
于 2013-07-23T07:13:32.790 に答える
1

簡単な例を次に示します。

a = [1, 2, 3] 
b = [4, 5, 6] 
c = [7, 8, 9]

[a, b, c].transpose.map { |x| x.reduce :+ } 

=> [12, 15, 18]

詳細については、「転置、マップ、縮小を使用した配列マジック」を参照してください。

于 2013-07-23T07:17:16.277 に答える