首页 > 解决方案 > 计算 Ruby 中多个值的总和

问题描述

我正在尝试对多个值求和,例如

我在想一个循环,但我不知道如何进行:

values = []

(0..3).each do |value|
  # values << [4444.33, 0, 333.444, 0]       on 1st iteration
  # values << [3333.444, 0, 1123.44, 5444]   on 2nd iteration
  # values << [321112.4, 443.3, 0, 4444]     on 3rd iteration

  # Here I need to add each array with the next one
end

结果将是[324890.174, 443.3, 1456.884, 9888]

标签: ruby

解决方案


UPDATE1:
它不会改变任何东西。您仍然可以应用代码。

(0..3).each do |value|
  # First loop 
    values << [4444.33,0,333.444,0]
  # Second loop 
    values << [3333.444,0,1123.44,5444]
  # Third loop
    values << [321112.4,443.3,0,4444] 
  # Here I need to add each array with the next one
    values.transpose.map {|x| x.reduce(0, :+)}
end


第一个答案:
使用映射。只有一行。

values.transpose.map {|x| x.reduce(0, :+)}

推荐阅读