ruby - 在 Ruby 中定义求和函数

标签 ruby arrays numbers sum function

请帮忙,我是一名 Ruby 学生,我知道如何使用 .sum 方法但不知道这个: 如何为数组定义求和函数,以便提供任何元素都将得到它们的总和。格式应为 sum([array inputs]) 返回数组元素的总和。例如:sum([ ]) 应该返回 0,sum([1,2,3]) 返回 6(#again,不是 [1,2,3].sum)。我被困在盒子里了,非常感谢你的帮助。

最佳答案

使用 Enumerable#inject 的解决方案:

def sum(array)
  array.inject(0){|sum, el| sum + el}
end

或者,如建议的那样,更短、更优雅的形式:

def sum(array)
  array.inject(0, :+)
end

关于ruby - 在 Ruby 中定义求和函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16957269/

相关文章:

java - 使用 .equals() 比较字符串数组的两个元素

c++ - 如何使用指针合并 2 个数组?

ruby-on-rails - 我如何告诉 Simplecov 关注 Rails 项目中的特定目录?

ruby-on-rails - rails RSolr::Error::ConnectionRefused:连接被拒绝错误

ios - 按与当前位置的距离对数组进行排序

javascript - 从字符串中提取数字? (JavaScript)

python-2.7 - 在 python 中找到友好数字的最有效方法是什么?

ruby - 选择大于总和 5% 的数组元素

ruby-on-rails - 无法安装sqlite3 gem