任意长度的数组,如何实现累减?
如:
[1, 2, 3, 4, 5]
计算结果为: -13
我用的是这个:
def subtract(*nums)
nums.inject(2 * nums[0]) { |sum, n| sum - n }
end
但是感觉很别扭,有没有更简单的?
arr = [1, 2, 3, 4, 5]
int = arr[0]
arr[1..-1].each do |num|
int -= num
end
arr.first - arr[1..-1].reduce(:+)
arr.inject(:-)
def subtract(a)
a.inject(0)(&:-)
end
def subtract(a)
a.inject(&:-)
end
class Array
def subtract()
self.inject(&:-)
end
end
#用法: [1, 2, 3, 4, 5].subtract