【Ruby3.x】Enumerator::size()メソッドの使い方
sizeメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
sizeメソッドは、Enumeratorオブジェクトが持つ要素の総数を取得するメソッドです。Enumeratorは、配列やハッシュといったコレクションのように、要素を一つずつ取り出すための「列挙子」と呼ばれるオブジェクトであり、必要に応じて要素を生成しながら処理を進めることができます。このsizeメソッドは、そのEnumeratorオブジェクトが最終的に生成するであろう要素の数を整数で返します。
例えば、[1, 2, 3].each.sizeのように、既存のコレクションから生成されたEnumeratorの場合、そのコレクションの要素数である3を返します。しかし、すべてのEnumeratorが要素数を明確に持っているわけではありません。無限に要素を生成するようなEnumeratorや、要素数を事前に特定できないような複雑なロジックを持つEnumeratorの場合、このメソッドはnilを返します。これは「要素数が不明である」ことを示します。
特にEnumerator.newを用いてEnumeratorを生成する際、要素数を指定する引数を与えることができます。そのように明示的にサイズが指定されている場合には、その指定された値がsizeメソッドの返り値となります。このメソッドは、Enumeratorが持つ要素の数を事前に把握したい場合に役立ちますが、nilが返される可能性も考慮して利用する必要があります。
構文(syntax)
1[1, 2, 3].to_enum.size
引数(parameters)
引数なし
引数はありません
戻り値(return)
Integer, nil
Enumeratorオブジェクトが保持する要素の数を整数で返します。要素の数が不定な場合はnilを返します。