#概要
入れ子でeachメソッドを使用する際の方法を学習用としてまとめます。
※eachメソッドが何かについては本内容では触れません。
#環境
Ruby 2.6.5
#内容
例として、下記のような配列に対し
vegetables_price = [["tomato", [120, 150, 80]], ["potato", [50, 60, 40]], ["carrot", [120, 150]]]
下記のような出力結果を求めるとします。
tomatoの合計金額は350円です
potatoの合計金額は150円です
carrotの合計金額は270円です
記述内容
vegetables_price = [["tomato", [120, 150, 80]], ["potato", [50, 60, 40]], ["carrot", [120, 150]]]
vegetables_price.each do |vegetable| #配列vegetables_priceにeachメソッドを使用する。
sum = 0 #合計値を入れておく変数sumを定義
vegetable[1].each do |price| #変数vegetable[1]に対しeachメソッドを使用。[1]には価格が入っている。
sum += price #eachを回して価格を足していく。
end
puts "#{vegetable[0]}の合計金額は#{sum}円です" #vegetable[0]にはvegetableの名前が入っている。
end
※備考
添字の0には野菜の名前、1には価格が入っていることになる。
vegetables_price = [["tomato", [120, 150, 80]], ["potato", [50, 60, 40]], ["carrot", [120, 150]]]
(添字) 0 1
以上