Rubyの開発者を目指し基礎を学んでいる初心者の私が知識をまとめてみました。
目的:
- 自己理解
- 情報共有
- 情報整理
トピックス:
- 多次元配列
多次元配列
多次元配列の問題を解いたので簡単ですがまとめてみます。
果物の名前と金額の二つの配列から要素を取り出す問題です。
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を蔑ろにしていたからですね。勉強することだらけです。😭