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

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

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

作成日: 更新日:

基本的な使い方

peek_valuesメソッドは、RubyのEnumeratorオブジェクトが次にnextメソッドによって返すであろう複数の値を、実際にイテレータを進めることなく取得するメソッドです。これは、単一の値を返すpeekメソッドの多値版として提供されています。peekが次に返される単一のオブジェクトを取得するのに対し、peek_valuesyield_selfや多重代入で受け取れるような、複数の要素をまとめた配列を返します。

このメソッドを使うことで、繰り返し処理の途中で、次に処理される値のグループを事前に確認し、その情報に基づいて条件分岐や特定の処理を行うことが可能になります。例えば、複数の要素からなるデータ群を順次処理する際に、次のグループが特定の条件を満たす場合にのみ特別な処理を実行したいといった状況で役立ちます。

nextメソッドと異なり、peek_valuesを呼び出してもイテレータの内部状態は変化しないため、何度呼び出しても次に返される値のグループは同じです。これにより、イテレータを消費することなく、安全に次の値を「覗き見」できます。イテレータが既に末尾に到達している場合は、nextメソッドと同様にStopIteration例外が発生する可能性がありますのでご注意ください。

構文(syntax)

1e = [1, 2, 3].each
2e.peek_values

引数(parameters)

引数なし

引数はありません

戻り値(return)

Array

Enumeratorクラスのpeek_valuesメソッドは、イテレータの次の要素を先読みした結果を配列で返します。これは、イテレータの現在の状態を変更せずに、次に取得できる値を一時的に確認したい場合に使用できます。

関連コンテンツ