配列の取り出し方
こんなRuby配列の問題があった。
fruits_price = "apple", [200, 250, 220, ["orange", [100, 120, 80]], ["melon", [1200, 1500]]]
(出力) appleの合計金額は670円です orangeの合計金額は300円です melonの合計金額は2700円です
Q,この配列から果物の名前とその合計金額を算出せよ。
で、その答えが
fruits_price ="apple", [200, 250, 220, ["orange", [100, 120, 80]], ["melon", [1200, 1500]]] fruits_price.each do |fruit| sum = 0 fruit[1].each do |price| sum += price end puts "#{fruit[0]}の合計金額は#{sum}円です" end
ここで出てきた fruit[1]がわかりづらかったのでまとめる。
今回難しくしているのは、配列の中の配列という構造である。
fruit_priceの配列の中に、果物の値段のデータが複数あって、それが配列で収められている。この配列内配列を呼び出しているのがfruit[1]である。
単純にarray[0]の形で配列内のKey番号のデータを呼び出すことができる。
今回はfruit[1]で配列内の2番目のKeyである[200,250,220]を一つずつ繰り返し呼び出し、足し合わせてsumを作っている。
いきなりこうやって配列ない配列とか出てきても、冷静に考えれば怖くない。以上