LoginSignup
12
12

More than 5 years have passed since last update.

多次元配列について

Last updated at Posted at 2018-06-06

Rubyの開発者を目指し基礎を学んでいる:relaxed:初心者の私が知識をまとめてみました。

目的:

  • 自己理解
  • 情報共有:sweat:
  • 情報整理

トピックス:
  • 多次元配列

多次元配列

次元配列の問題を解いたので簡単ですがまとめてみます。

果物の名前と金額の二つの配列から要素を取り出す問題です。

fruit.rb
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

>>出力結果は 「appleの合計金額は670円です」 ...全ての果物の名前と合計金額が出力されます。省略します。

わからないポイント:

  • 最初の配列 |fruit| は何を取り出しているのか。
  • 2番目の配列 |price| は何を取り出しているのか
  • fruit[1]とはなんなのか😾

最初の配列 |fruit| とはなにか?

数fruits_priceには例によって果物の名前と配列「金額」のが入っていますので、そのまま代入されています。イメージとしては

fruit.rb
fruits_price = [["apple", [200, 250, 220]] #以下省略
→ fruits_price = apple,配列

次にeach文で|fruit|変数から要素を取り出しています。each do は配列の中身を全て取り出す処理を行います。現状のイメージとしては

fruit.rb
fruit = [["apple", [200, 250, 220]] #以下省略
→ fruit = apple,配列
→ fruit = fruit[0],fruit[1] #配列で中身の要素が表現されます。

fruitに配列0,1として要素が代入されています。

2番目の配列 |price| とはなにか?

数price(|price|)には例によって果物の名前と配列「金額」が入っているfruitの配列が入っています。イメージとしては

fruit.rb
price = [200, 250, 220] #以下省略
→ price = 配列(fruit[1])

fruit[1]とはなんなのか😾(まとめ)

とめます。

fruit.rb
fruits_price = [["apple", [200, 250, 220]] 
→ fruit = apple,配列

→ fruit = fruit[0],fruit[1]
price = [200, 250, 220] #以下省略

→ price = 配列(fruit[1])

fruit[1] = price = [200,250,220](金額の配列)

fruit[1].each.do |price|ではprice変数に配列の要素(金額)を全て取り出しているということですね。

to be continued...

Railsでは配列はparamsあたりで使っていたはず。直接は結びつかないかもしれませんが大事な要素なので覚えておきたいですね。☺️自分で実装できるようになりたいです。

現状ですが、haml,scssではまっています。。HTMLを蔑ろにしていたからですね。勉強することだらけです。😭

12
12
2

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
12
12