我理解为了在Ruby中对数组元素求和,可以使用inject方法,即
array = [1,2,3,4,5];
puts array.inject(0, &:+)
Run Code Online (Sandbox Code Playgroud)
但是如何在对象数组中求和对象的属性呢?
有一个对象数组,每个对象都有一个属性"现金",例如.所以我想将他们的现金余额总计为一个.就像是...
array.cash.inject(0, &:+) # (but this doesn't work)
Run Code Online (Sandbox Code Playgroud)
我意识到我可能会创建一个仅由物业现金组成的新阵列,并总结一下,但如果可能的话,我正在寻找一种更清洁的方法!
我知道我可以使用样本方法从数组中选择一个随机元素,但这样就可以不止一次地拾取元素.我可以先将数组洗牌,然后按顺序从第一个元素到最后一个元素,但我知道这是内存密集型的,如果可能的话,我正在寻找一种不太密集的方法!