【Ruby3.x】Range::size()メソッドの使い方
sizeメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
sizeメソッドは、RubyのRangeクラスに属し、指定された範囲オブジェクトが含む要素の数を計算し、その結果を返すメソッドです。このメソッドは、主に数値の範囲において、効率的に要素数を取得するために利用されます。
数値の範囲では、1..5のような開始から終了までを含む閉じた範囲の場合、最後の値 - 最初の値 + 1で計算された5を返します。一方、1...5のように終了値を含まない開いた範囲の場合は、最後の値 - 最初の値で計算された4を返します。
しかし、すべてのRangeオブジェクトで要素数を計算できるわけではありません。文字列の範囲(例: 'a'..'z')や日付の範囲のように、連続する要素の数を明確に定義できない場合、sizeメソッドはnilを返します。また、範囲の開始値が終了値より大きいなど、有効な範囲を形成しない場合もnilが返されます。
さらに、1..や..10といった無限範囲に対してsizeメソッドを呼び出すと、要素数が無限であることを示す特別な値Float::INFINITYを返します。
このように、sizeメソッドはRangeオブジェクトの特性に応じて多様な結果を返すため、プログラム内で範囲の処理を行う際に、その要素数を正確に把握するために利用されます。システムエンジニアを目指す方々にとって、範囲オブジェクトの理解を深める上で役立つでしょう。
構文(syntax)
1(1..5).size
引数(parameters)
引数なし
引数はありません
戻り値(return)
Integer または nil
Rangeオブジェクトが表す範囲に含まれる要素の個数を整数で返します。範囲に要素が含まれない場合はnilを返します。