問題.1
以下のように、果物の名前と値段が入った配列があります。
この配列を用いて、果物の名前とそれぞれの合計額が出力される
コードを記述してください。
fruits_price = [["apple", [200, 250, 220]], ["orange", [100, 120, 80]], ["melon", [1200, 1500]]]
(出力)
appleの合計金額は670円です
orangeの合計金額は300円です
melonの合計金額は2700円です
fruits_price = [["apple", [200, 250, 220]], ["orange", [100, 120, 80]], ["melon", [1200, 1500]]]
fruits_price.each do |fruits|
sum = 0
fruits[1].each do |price|
sum += price
puts"#{fruit[0]}の合計金額は#{sum}円です"
end
end
解説
最初に、3行目でfruits_priceから["apple", [200, 250, 220]]という値を取り出し、変数fruitに代入します。
その後4行目〜7行目で、fruitの1番目の値[200, 250, 220]から値を1つずつ取り出して、自己代入しながらsumを出力します。
この結果、appleの合計金額は670円ですと出力されるようになります。この作業を残り2つorange、melonでも繰り返します。
語り
配列からデータを取り出す、記述が理解できていなかったので、ruby問題の復習で使いました。
配列の何番目の値を取得する、fruitの配列の何番目を出力するが解けませんでした。
[]での指定を忘れないようにします。