0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

eachの入れ子についての備忘録

Posted at

今日も学んだことを忘れない為にメモします

入れ子でeach分を使用する際の方法

以下のように、果物の名前と値段が入った配列があり

fruits_price = [["apple", [200, 250, 220],[150,200,300]], ["orange", [100, 120, 80],[400,400]], ["melon", [1200, 1500],[500,500,500]]]

以下のように果物の名前とそれぞれの合計額が出力されるコードを記述する

appleの合計金額は670円です
orangeの合計金額は300円です
melonの合計金額は2700円です

記述内容

fruits_price = [["apple", [200, 250, 220],[150,200,300]], ["orange", [100, 120, 80],[400,400]], ["melon", [1200, 1500],[500,500,500]]]

fruits_price.each do |fruit|
  sum = 0
  fruit[1].each do |price|
    sum += price
  end
  puts "#{fruit[0]}の合計金額は#{sum}円です"
end

each分の内容

eachメソッドを使用して変数fruits_priceから[["apple", [200, 250, 220],[150,200,300]]を取り出してブロック変数fruitに代入する。

sum = 0は合計金額を入れるために記述。

添字1番目の合計金額が知りたいのでfruit[1]に対してeachメソッドを使用し(添字2番目の合計金額が知りたいならfruit[2]とする)ブロック変数priceに代入。

sum += priceで添字1番の値を一つずつ取り出しながら自己代入していく。

sum = 0
sum = 0 + 200 
sum = 200 + 250
sum = 450 + 220
sum = 670

"#{fruit[0]}の合計金額は#{sum}円です"のfruit[0]には果物の名前、sumには合計金額がそれぞれ出力される。

以上がeachの入れ子についての備忘録になります。

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?