Как суммировать свойства объектов в массиве в Ruby

Я понимаю, что для суммирования элементов массива в Ruby можно использовать метод inject, т.е.

array = [1,2,3,4,5];
puts array.inject(0, &:+) 

Но как мне суммировать свойства объектов в массиве объектов, например?

Например, есть массив объектов, и каждый объект имеет свойство «наличные». Итак, я хочу суммировать их денежные остатки в одну сумму. Что-то вроде...

array.cash.inject(0, &:+) # (but this doesn't work)

Я понимаю, что, вероятно, мог бы создать новый массив, состоящий только из наличных денег, и суммировать это, но я ищу более чистый метод, если это возможно!

46
задан ДМИТРИЙ МАЛИКОВ 30 June 2012 в 10:50
поделиться