概要
「配列」 なら取り出しは簡単にできるけど、 「配列の中に配列」 の場合に
- 少し考えてしまう
- 思うように値がとれない
という方向けの記事です。少しでも参考になれば幸いです。
目次
-
実践
- 問題
- 解答(解説)
- プロセス
-
まとめ
-
参考文献
実践
問題
次の配列からフルーツの名称と合計金額を出力してください。
問題
fruits_price = [["apple", [200, 300, 400]], ["banana", [100, 200, 300]], ["grape", [2000, 3000]]]
解答 (解説)
解答例
fruits_price.each do |fruit|
# fruits_price から配列を一つずつ取り出し fruit で取り出していく (each を使うことで配列の中の配列に対して処理を行うことができる。)
sum = fruit[1].sum
# fruit[1](金額の部分)のsum(金額の合計値)
puts "#{fruit[0]}の合計金額は#{sum}円です"
# 出力
end
別解
fruits_price.each do |fruits, prices|
puts "#{fruits}の合計金額は#{prices.sum}円です"
end
プロセス
1.取得したいものを考える
- フルーツの名称
- 各フルーツの合計金額
2.配列のときはどのように要素を取り出すのか
-
each
で取り出す - その中の何番目を取得するのか
3.合計値を出すにはどうするのか
-
sum
で要素の合計を出力
まとめ
- 取りたい値は何かを考える
- 問題の切り分けをして、どのように出力すればよいのか方法を探る
-
sum
で要素の合計を簡単に取得することができる