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

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

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

作成日: 更新日:

基本的な使い方

sizeメソッドは、Enumerator::Productオブジェクトが生成するデカルト積(直積)の要素数を取得するメソッドです。Enumerator::Productは、複数の配列や集合から要素を一つずつ選び出し、その全ての組み合わせを生成する際に使用されます。このsizeメソッドを呼び出すと、デカルト積の結果として得られる要素の総数が整数で返されます。具体的には、Enumerator::Productの元となる各列挙可能なオブジェクトの要素数を掛け合わせた値が、このメソッドの戻り値となります。例えば、要素が3つの配列と要素が2つの配列のデカルト積の場合、sizeメソッドは3 * 2の結果である6を返します。これにより、実際にすべての組み合わせを生成してメモリに展開することなく、結果の規模を事前に把握することが可能です。ただし、もしデカルト積の元となるいずれかの列挙可能なオブジェクトの要素数が無限である場合や、計算できないような不定な場合、sizeメソッドはnilを返します。これは、要素数を確定できないことを示しており、そのような場合にはnilが返ることに注意が必要です。このメソッドは、大量の組み合わせ処理を行う前に、その処理がどれくらいの規模になるかを概算したい場合に非常に有用です。

構文(syntax)

1[1, 2].product([:a, :b, :c]).size

引数(parameters)

引数なし

引数はありません

戻り値(return)

Integer

このメソッドは、Enumerator::Product オブジェクトが持つ要素の総数を整数で返します。

関連コンテンツ