ruby - 计算 Ruby 中多个值的总和
问题描述
我正在尝试对多个值求和,例如
[4444.33, 0, 333.444, 0]
[3333.444, 0, 1123.44, 5444]
[321112.4, 443.3, 0, 4444]
我在想一个循环,但我不知道如何进行:
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]
解决方案
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, :+)}
推荐阅读
- maximo - 结果集 BAR 图表 order by(sorting)
- sql - 如何改进代码以包含另一个表中的列?
- javascript - 将单词转换为链接并在 html 中替换它们
- css - Flexbox 垂直内容与 Internet Explorer 中的溢出对齐
- swift - 无法在 URLSession 线程之外存储值
- python-3.x - 将 .sav 文件转换为 pandas 数据框
- angular - 在 Angular 和 Identity Server 4 中使用 PKCE 进行 OIDC 连接和验证代码流
- ansible - ansible 无法找到或访问脚本
- html - 在特定的 div 中加载外部 css 文件
- android - 在 Kotlin 中从 Fragment 声明 Intent 时出错: