私は、パーソナルファイナンスマネジメントのためのシステムを構築しようとしています。これでRubyを学びたいと思っています。ハッシュ内部のデータを使って作業する
私は株式を作成しました<資産。 資産に関するすべての情報(現在のスポット価格など)があります。 私は、資産をbuy_price、数量、日付などで残高に追加することができる私のプロフィールを持っています。
私はshow_assets_by_codeを使いたいと思います。私のAssestを通過し、コードでこれを分類し、Quantityを合計して、average_priceをコストに含めます。そして、これを返す:[資産、average_price_with_cost、total_quantity]
今私は資産グループにできる午前:
{"RNGO11"=>
[{:quantity=>10,
:buying_price=>75.0,
:cost=>16.91,
:date=>2016-09-05 18:06:06 -0300,
:code=>"RNGO11",
:asset_id=>18563448},
{:quantity=>100,
:buying_price=>75,
:cost=>16.91,
:date=>"16/4/2015",
:code=>"RNGO11",
:asset_id=>18563448},
{:quantity=>100,
:buying_price=>77,
:cost=>16.91,
:date=>"16/4/2016",
:code=>"RNGO11",
:asset_id=>18563448}],
"BRCR11"=>
[{:quantity=>100,
:buying_price=>75,
:cost=>16.91,
:date=>2016-09-05 18:06:06 -0300,
:code=>"BRCR11",
:asset_id=>18563316}]}
どのように情報を取得し、グループごとにハッシュ内のデータを扱うことができます?
私は出力をしたい:
[RNGO11, quantity: 210, average_price: 76.19]
[BRCR11, quantity: 100, average_price: 75.17]
任意のヒント?
ほとんどあり!! average_priceでなければなりませんによるとこれを実行することはできませんどのように –
'assets_by_group = balance.assets.group_by {|資産|資産[:コード]}!? \t \t \t assets_by_group.map行う|資産、値| \t \t \t量= values.map { |エントリ|エントリ[:数量]} .reduce(:+) \t \t \t total_spent = values.map {|エントリ|エントリ[:buyi to_f} .reduce(:+)to_f \t \t \t average_price = total_spent/quantity' しかし、私が売るとうまくいきません。 ..数学は変わるでしょう...しかし、助けてくれてありがとう!! –