对 Ruby 中的数组使用 .sum 时没有方法错误
No Method Error when using .sum to an array in Ruby
当期望计算给定数组的总和时,下面的函数将抛出 NoMethodError。
通过打印结果“p”,它应该 return 10.
p [1,2,3,4].sum
#=> 10
我没有得到总和的结果,而是得到了下面的错误。
undefined method `sum' for [1, 2, 3, 4]:Array (NoMethodError)
检查您在 ruby -v
中使用的 ruby 版本
如果您的版本早于 2.4,则可以改用 inject。
[1, 2, 3, 4].inject(0,:+)
以上是shorthand for
[1, 2, 3, 4].inject(0) {|sum, value| sum + value}
需要零 0
来处理空数组,否则 return nil
当期望计算给定数组的总和时,下面的函数将抛出 NoMethodError。
通过打印结果“p”,它应该 return 10.
p [1,2,3,4].sum
#=> 10
我没有得到总和的结果,而是得到了下面的错误。
undefined method `sum' for [1, 2, 3, 4]:Array (NoMethodError)
检查您在 ruby -v
如果您的版本早于 2.4,则可以改用 inject。
[1, 2, 3, 4].inject(0,:+)
以上是shorthand for
[1, 2, 3, 4].inject(0) {|sum, value| sum + value}
需要零 0
来处理空数组,否则 return nil