我正在使用这个注入方法来将一个运行的值总和放入一个数组中。我想弄清楚为什么我得到一个错误。为什么在Ruby中使用注入时会出现'typeerror'?
def running_totals(myarray)
results = []
myarray.inject([]) do |sum,n|
results << sum + n
end
results
end
p running_totals([1,2,3,4,5])
我收到错误
in `+': no implicit conversion of Fixnum into Array (TypeError)
当打破这种方法了,这不就是一样增加了两个整数和补充说,到一个数组?我在这里有点困惑。谢谢您的帮助。
为什么不尝试更简单的解决方案?例如'a.map.with_index {| _,i |一个[0..i] .reduce(:+)}'这将通过减少当前元素和所有前面的元素或甚至sum = 0映射到一个数组中。 a.map {| e | sum + = e}' – engineersmnky