私はRails 3.1で相対的なnoobとして作業していますが、このコード(dateとamount_centsはdb属性)を使用して、dbからdate-ordered配列にユーザトランザクション量を抽出することができました:配列要素の積算合計の計算方法は?
@user_trans = User.transactions.order( "date")。map {| t | t.amount_cents}
=> [1000、-350、-250、600、750、-450]
Iが容易で、アレイの合計を得る:user_trans.sum = @
> 1300
しかし、私はちょうど把握することはできませんすることは、配列の各要素を反復処理し、合計を実行し、その結果、第二、第二第三に、などへの最初の要素を追加するためのエレガントな方法です:
[1000,650,400,1000,1750,1300]
各方法や.injectが使用されているようですが、複雑なマルチラインハックの外では、これを行うための魔法の構文が見つかりませんでしたが、合理的なアプローチが必要です。注文は重要です。たぶん全体を回帰させてから、逆にするのでしょうか?私は希望に満ちた期待して、あなたの足元に座って
... :)
恐ろしいです!完璧にエレガント。それは私が行方不明だった最後のセレクターでした。ありがとう。 – awvidmer