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

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

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

作成日: 更新日:

基本的な使い方

eachメソッドは、Enumerator::Productオブジェクトが保持するデカルト積の要素を順に処理するために使用するメソッドです。Enumerator::Productオブジェクトは、複数のコレクション(例えば配列)の要素を組み合わせてできる、すべての可能な組み合わせを生成する際に利用されます。この組み合わせは「デカルト積」と呼ばれ、複数の元のコレクションからそれぞれ要素を1つずつ選び、それらのすべての組み合わせを網羅した集合を意味します。

このeachメソッドは、ブロック引数を伴って呼び出された場合、生成されたデカルト積の各組み合わせを1つずつブロックに渡して評価します。これにより、開発者はデカルト積の個々の組み合わせに対して、必要な処理を正確に実行することができます。

もしeachメソッドがブロックなしで呼び出された場合、それはデカルト積の要素を順に取り出すためのEnumeratorオブジェクトを返します。このEnumeratorオブジェクトを利用することで、必要に応じて外部イテレータとしてデカルト積の要素を柔軟に操作することが可能になります。このように、eachメソッドはデカルト積の要素を効率的かつ柔軟に処理するための重要な手段を提供します。

構文(syntax)

1[1, 2].product([:a, :b]).each do |pair|
2  puts pair.inspect
3end

引数(parameters)

引数なし

引数はありません

戻り値(return)

Enumerator::Product Enumerator

このメソッドは、自身が持つ要素のすべての組み合わせを生成する新しいEnumerator::Productオブジェクトを返します。

関連コンテンツ