在 Ruby 中对一个数组求和
本教程将讨论计算数组中数字的不同方法。
使用 Array#sum
对 Ruby 中的数字数组求和
Array#sum
仅在 Ruby 2.4.0 及更高版本中可用。
[1, 2, 3].sum
输出:
6
使用 Array#inject
对 Ruby 中的数字数组求和
要在 2.4.0 之前的 Ruby 版本中计算数组的总和,我们必须使用 inject
或其别名 reduce
。
inject
是一个接受初始值和块的函数。累积是第一个块参数,当前数字是第二个。
[1, 2, 3].inject(0) { |sum, num| sum += num }
输出:
6
或者,我们可以使用 reduce
来代替 inject
。
[1, 2, 3].reduce(0) { |sum, num| sum += num }
输出:
6
我们可以通过传递符号作为每个元素响应的方法名称来缩短整个代码,在这种情况下,方法+
。
[1, 2, 3].inject(0, :+)
输出:
6
在 Ruby 中使用 Array#each
来求一个数组的和
each
可以与临时变量一起使用。这是一种幼稚的策略,不推荐。
sum = 0
[1, 2, 3].each { |num| sum += num }
puts sum
输出:
6
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。