Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】Enumerator::ArithmeticSequence::each()メソッドの使い方

eachメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

eachメソッドは、Enumerator::ArithmeticSequenceオブジェクトが保持する算術数列(等差数列)の各要素を順番に処理を実行するメソッドです。このメソッドは、指定された開始値、終端値、および増減ステップに基づいて生成される数値のシーケンスを、一つずつ取り出して利用する際に中心的な役割を果たします。

具体的には、eachメソッドにブロック({ |要素| ... }のように記述される処理のまとまり)が与えられた場合、算術数列の最初の要素から最後の要素までを順にそのブロックに渡し、各要素に対してブロック内の処理を実行します。例えば、1から10までの間で2刻みの数列(1, 3, 5, 7, 9)がある場合、eachメソッドはこの数列の各数値を順番にブロックに渡し、ブロック内で定義された操作がそれぞれ実行されます。

もしeachメソッドにブロックが与えられなかった場合は、自身を繰り返し処理する新しいEnumeratorオブジェクトを返します。この挙動により、後からmapselectrejectなどの他のEnumerableモジュールのメソッドを連結して利用することが可能となり、より柔軟なデータ処理を実現できます。

このメソッドは、一定の間隔で増減する数値のコレクションを効率的に反復処理し、それぞれの要素に対して特定の操作を行いたい場合に非常に便利です。システム開発において、決まったパターンでデータを生成したり処理したりするシナリオで、簡潔かつ強力な記述を提供します。

構文(syntax)

1(1..10).step(2).each do |num|
2  puts num
3end

引数(parameters)

引数なし

引数はありません

戻り値(return)

Enumerator::ArithmeticSequence | Enumerator

このメソッドは、ArithmeticSequenceオブジェクト自身、もしくはEnumeratorオブジェクトを返します。これは、シーケンスの各要素を順番に処理するためのイテレータを提供することを意味します。

関連コンテンツ