
[code]

    arrays=[[7,5],[8,9,9,8],[13,13],[3,4,2,15,18],[3,2],[0,3,6,10,14,7],[7,10,9,11,14],
    [4,8,5,8,1,10],[5,11,21,2],[11,18,19,17]]
    =>
    [12, 34, 26, 42, 5, 40, 51, 36, 39, 65]
    
[/code]

のような結果にしたいのですが、手順を教えてほしいです。


CC BY-SA 4.0
2019-06-26T18:09:36.103
56121
2019-06-27T23:08:18.947
2019-06-27T00:04:29.890
3060
34878
question
ruby
ruby 2次元配列内の計算方法


[`Array#map` メソッド](https://ruby-doc.org/core-2.5.0/Array.html#method-i-
map)を用いて、各配列に対して [`Array#sum` メソッド](https://ruby-
doc.org/core-2.4.0/Array.html#method-i-sum)を実行すれば良いと思います。

[code]

    arrays = [
      [7, 5],
      [8, 9, 9, 8],
      [13, 13],
      [3, 4, 2, 15, 18],
      [3, 2],
      [0, 3, 6, 10, 14, 7],
      [7, 10, 9, 11, 14],
      [4, 8, 5, 8, 1, 10],
      [5, 11, 21, 2],
      [11, 18, 19, 17]
    ]
    
    p arrays.map(&:sum) #=> [12, 34, 26, 42, 5, 40, 51, 36, 39, 65]
    
[/code]

もし Ruby 2.4 より古いバージョンを使用している場合は、[`Enumerable#inject` メソッド](https://docs.ruby-
lang.org/en/2.6.0/Enumerable.html#method-i-inject)を用いることができます。

[code]

    arrays = [
      [7, 5],
      [8, 9, 9, 8],
      [13, 13],
      [3, 4, 2, 15, 18],
      [3, 2],
      [0, 3, 6, 10, 14, 7],
      [7, 10, 9, 11, 14],
      [4, 8, 5, 8, 1, 10],
      [5, 11, 21, 2],
      [11, 18, 19, 17]
    ]
    
    p arrays.map { |e| e.inject(:+) } #=> [12, 34, 26, 42, 5, 40, 51, 36, 39, 65]
    
[/code]


CC BY-SA 4.0
2019-06-26T21:14:06.163
56122
2019-06-27T23:08:18.947
2019-06-27T23:08:18.947
32986
32986
56121
answer