개인 재무 관리를위한 시스템을 구축하려고합니다. Ruby를 배우기를 바랍니다.해시 내부의 데이터 작업
나는 < 자산을 만들었습니다. 여기에는 자산과 관련된 모든 정보 (현재 현물 가격 등)가 있습니다. 그리고 나는 내 밸런스에 purchase_price, 수량, 날짜 등을 사용하여 자산을 추가 할 수있는 내 프로필이 있습니다.
이 방법을 실행할 때 시스템을 원한다면 여물통 가서 내 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]
모든 힌트 :
나는 출력을 원하는? 내가 바로 가지고, 고려 추가 비용 파블 Duda 보낸에
거의 평균 _ 여야가 !! 이 작업을 수행 할 수없는 방법 –
'assets_by_group = balance.assets.group_by {| 자산 | 자산 [: 코드]}!? \t \t \t assets_by_group.map가 할 | 자산 가치 | \t \t \t 수량 = values.map { | 엔트리 [: 수량]}. 감소 (: +) \t \t \t total_spent = values.map {| entry | entry [: buyi to_f} .reduce (: +). to_f \t \t \t average_price = total_spent/quantity' 그러나 내가 팔면 작동하지 않습니다. .. 수학은 변할거야.하지만 도움을 주셔서 감사합니다 !! –