重构ruby方法

Ame*_*uez 1 ruby refactoring loops

这是一个简单的问题......

这种方法可以重构吗?

def sum
  total = 0
  [1,2,3,4].each do |num|
    total += num
  end
  total
end
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

Vas*_*ich 13

你可以用这个:

[1,2,3,4].inject(0, :+) # => 10
Run Code Online (Sandbox Code Playgroud)

  • 再次:`.inject(0,:+)`正确处理空数组. (2认同)
  • `[] .inject(:+)`将返回`nil`.这有什么问题?为什么我们需要`0`而不是'nil`? (2认同)