【Ruby】eachメソッドを徹底解説!

Ruby

eachメソッドとは

eachメソッドとは配列の中身を一つずつ取り出すメソッドです

eachメソッドの構文

配列とは、一つのオブジェクトを複数の値を格納できる便利なものでしたね。
eachメソッドとはその一つ一つ格納されたオブジェクトを取り出すことが出来るメソッドです。

ruby
1
2
3
4
5
6
array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
array.each do |element| # elementという変数に配列の要素が1つずつ格納されます。
  puts element
end
# eachメソッドの返り値
=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

eachメソッドの出力値

shell
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10

一つ一つの値がelementに入ってそのelementを出力しているため、上記の様な返り値になります。

では、このeach文を使うと配列から取り出された一つ一つの値に処理できる事がわかりますね!

eachメソッドでどういうことが出来るかということを確かめるためにfizzbuzzというものを作ってみます!

fizbuzzとは?

fizzbuzzとは、
3で割り切れる場合はfizz,
5で割り切れる場合はbuzz,
15で割り切れる場合はfizzbuzz
と出力する簡単なプログラミングです。

ではこのfizzbuzzをeachメソッドを使って、実際に書いてみましょう。

eachメソッドの例題

ruby
1
2
3
4
5
6
7
8
9
10
array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
array.each do |element| # elementという変数に配列の要素が1つずつ格納されます。
  if element % 3 == 0 && element % 5 == 0
      puts 'fizzbuzz'
    elsif element % 3 == 0
      puts 'fizz'
  elsif element % 5 == 0
      puts 'buzz'
  end
end

eachメソッドの例題(動画)

eachメソッド

まとめ

eachメソッドとは配列の要素を一つ一つ出していくメソッドです。一つ一つ出した要素に対して処理をすることができます。