0
0

More than 3 years have passed since last update.

【Ruby】eachの入れ子についておさらい

Last updated at Posted at 2020-12-28

概要

「配列」 なら取り出しは簡単にできるけど、 「配列の中に配列」 の場合に

  • 少し考えてしまう
  • 思うように値がとれない

という方向けの記事です。少しでも参考になれば幸いです。

目次

  • 実践

    • 問題
    • 解答(解説)
    • プロセス
  • まとめ

  • 参考文献

実践

問題

次の配列からフルーツの名称と合計金額を出力してください。

問題
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 で要素の合計を簡単に取得することができる

参考文献

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