ダイエット記録をとろうとおもっているのですがハッシュしたデータをひとつに纏めたいのですがどうすればよいのでしょうか?group_byを使って項目をmeal_timeごとにしてその後にeachを回そうと思ってもその後の処理がうまくかけません。.sumメソッドとか、.mapメソッドとか、inclideメソッドとか使おうとしましたが出来ず。。
よろしくお願いします。
ruby
1@foods_cal.group_by{|d| d[:meal_time]}.each do |hasy, key| 2 key.each do |key2| 3 処理式が書けず、足踏み中。 4 end 5end
理想
ruby
1@foods_cal = [ 2{ 3:meal_time=>"仕事中", :meal_contents=>"とり五目おにぎり", :meal_cal=>250, :meal_amount=>2 4}, 5:meal_time=>"仕事中", :meal_contents=>"サ ンドイッチ", :meal_cal=>300, :meal_amount=>1 6} 7{:meal_time=>"昼食", :meal_contents=>"ハンバーガー", :meal_cal=>500, :meal_amount=>2 8}, 9{ 10:meal_time=>"朝食", :meal_contents=>"サンドイッチ", :meal_cal=>300, :meal_amount=>1 11}
現状
ruby
1@foods_cal = [ 2{ 3:meal_time=>"仕事中", :meal_contents=>"とり五目おにぎり", :meal_cal=>250, :meal_amount=>1 4}, 5{ 6:meal_time=>"仕事中", :meal_contents=>"とり五目おにぎり", :meal_cal=>250, :meal_amount=>1 7}, 8{ 9:meal_time=>"仕事中", :meal_contents=>"サ ンドイッチ", :meal_cal=>300, :meal_amount=>1 10} 11{:meal_time=>"仕事中", :meal_contents=>"ハンバーガー", :meal_cal=>500, :meal_amount=>1 12}, 13{ 14:meal_time=>"昼食", :meal_contents=>"ハンバーガー", :meal_cal=>500, :meal_amount=>1 15}, 16{ 17:meal_time=>"朝食", :meal_contents=>"サンドイッチ", :meal_cal=>300, :meal_amount=>1 18}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。