4
3

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 3 years have passed since last update.

[Ruby]eachの入れ子

Posted at

#概要
入れ子で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

以上

4
3
0

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
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?