refactoring ruby method
这是一个简单的问题…
这个方法可以重构吗?
1 2 3 4 5 6 7 | def sum total = 0 [1,2,3,4].each do |num| total += num end total end |
谢谢你的帮助!
您可以使用:
1 | [1,2,3,4].inject(0, :+) # => 10 |
1 | [1,2,3,4].inject { |total,num| total= total+num } |
或者根据下面的建议
1 | [1,2,3,4].inject(0) { |total,num| total+num } |
号
1 2 | >> [1, 2, 3, 4].inject(0) { |acc, x| acc + x } => 10 |
或者简单地说:
1 2 | >> [1, 2, 3, 4].inject(0, :+) => 10 |
。
和下面一样,Ruby中的数字数组如何求和?