Sta*_*sto 3 ruby sum nomethoderror
我找到了其他方法,但是根据ruby文档,这应该可行吗?
p [1,2,3,4].sum
#=> 10
Run Code Online (Sandbox Code Playgroud)
相反,我得到了..
undefined method `sum' for [1, 2, 3, 4]:Array (NoMethodError)
Run Code Online (Sandbox Code Playgroud)
检查您使用的红宝石版本 ruby -v
如果您使用的版本早于2.4,则可以使用inject代替。
[1, 2, 3, 4].inject(0,:+)
Run Code Online (Sandbox Code Playgroud)
以上是的简写
[1, 2, 3, 4].inject(0) {|sum, value| sum + value}
Run Code Online (Sandbox Code Playgroud)
0需要零来处理空数组,否则将返回nil