Я работаю в Rails 3.1 как относительный нуб, и мне удалось извлечь пользовательские суммы транзакций из БД в упорядоченный по дате массив, используя этот код (где date и amount_cents являются атрибутами db):
@ user_trans = User.transactions.order ("дата"). Map {| t | t.amount_cents}
=> [1000, -350, -250, 600, 750, -450]
Я легко получаю общий массив с:
@user_trans.sum => 1300
Но то, что я просто не могу понять, - это элегантный способ перебора каждого элемента массива и добавления первого элемента ко второму, второму к третьему и т. Д., Что приводит к получению итоговых значений:
[1000, 650, 400, 1000, 1750, 1300]
Кажется, что .each или .inject были бы используемым методом, но кроме неуклюжего многострочного хака, я не нашел магического синтаксиса, чтобы сделать это, но, похоже, должен быть оптимизированный подход. Заказ важен. Может быть, регресс от общего, а затем наоборот?
Я сижу у ваших ног с обнадеживающим ожиданием ...:)