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

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

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

作成日: 更新日:

基本的な使い方

==メソッドは、二つのRangeオブジェクトが同じ範囲を表しているかどうかを判定するメソッドです。具体的には、このメソッドは、呼び出し元のRangeオブジェクトと、引数として渡されたオブジェクトを比較します。

まず、比較対象のオブジェクトがRangeオブジェクトではない場合、このメソッドは常にfalseを返します。これは、異なる種類のオブジェクトを範囲として比較することはできないためです。

比較対象のオブジェクトがRangeオブジェクトである場合、このメソッドは以下の三つの条件が全て一致するかどうかを確認します。一つ目の条件は、範囲の開始点(begin)の値が等しいことです。二つ目の条件は、範囲の終了点(end)の値が等しいことです。そして三つ目の条件は、その範囲が終了点を含む(包含的である)か、含まない(排他的である)かの設定が等しいことです。これは、1..5のような包含的な範囲と、1...5のような排他的な範囲を区別するために非常に重要です。

これらの開始点、終了点、および範囲の包含/排他的設定の三つの条件がすべて一致する場合にのみ、trueを返します。どれか一つでも条件が一致しない場合は、falseを返します。このメソッドを使うことで、プログラム内で作成した複数のRangeオブジェクトが、期待通りに同じ範囲を指しているかを確認したり、異なる範囲を区別したりすることができます。

構文(syntax)

1(1..5) == (1..5)

引数(parameters)

other

  • other: 比較対象となる Range オブジェクト

戻り値(return)

Boolean

2つのRangeオブジェクトが、開始値、終了値、および範囲の性質(包括的または排他的)において完全に一致する場合にtrueを返します。それ以外の場合はfalseを返します。

関連コンテンツ