each入れ子構造
家具の名前と値段が入った配列の合計額を出力したいとき(each入れ子構造)
furniture_price = "table", [200, 250, 220, ["chair", [100, 120, 80]], ["sofa", [1200, 1500]]]
まずはじめに["table", [200, 250, 220]という値を取り出す。
そして、変数furnitureに代入。
その後、[200, 250, 220]という値を1つずつ取り出し、自己代入してsumを出力する。
①sum = 0
②sum = 0 + 200
③返り値としてsum = 200となる。
そして、2回めの処理として
① sum = 200から始まり、
② sum = 200 + 250
③sum = 450となり、③回めも同様の処理をすると合計値が670となる。
よってこの処理はtableの合計金額は670円ですと出力されることになる。
この処理を後のchairとsofaでも繰り返し行う。
furniture_price = [["table", [200, 250, 220]], ["chair", [100, 120, 80]], ["sofa", [1200, 1500]]] furniture_price.each do |fruit| sum = 0 furniture[1].each do |price| sum += price end puts "#{furniture[0]}の合計金額は#{sum}円です" end