【Ruby3.x】Date::===()メソッドの使い方
===メソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
===メソッドは、日付が特定の条件を満たすかどうかを判定するメソッドです。このメソッドは、主にcase文の条件として使用される「case equality operator」として知られており、通常の等価判定を行う==演算子とは異なる振る舞いをします。Dateクラスのインスタンスである日付オブジェクトに対して呼び出され、引数として渡された別のDateオブジェクトまたはDateオブジェクトの範囲(Range)と比較を行います。
引数がDateオブジェクトの場合、このメソッドは呼び出し元のDateオブジェクトと引数の日付が完全に一致するかどうかを判定し、一致すればtrueを、一致しなければfalseを返します。例えば、ある特定の日付が指定の日であるかを調べたいときに利用できます。
引数がDateオブジェクトの範囲(Range)の場合、このメソッドは呼び出し元のDateオブジェクトがその範囲内に含まれるかどうかを判定します。範囲の開始日と終了日を含めて判定し、範囲内にあればtrueを、なければfalseを返します。これは、日付が特定の期間内にあるかを効率的にチェックしたい場合に特に便利です。
例えば、ユーザーの誕生日がどの季節に属するかをcase文で判定する際や、特定のイベントが特定の期間内にあるかを検証する際などに、日付の範囲を条件として指定するのに適しています。この柔軟な比較機能により、日付に関する条件分岐を簡潔かつ明確に記述することができます。
構文(syntax)
1require 'date' 2 3Date.new(2023, 1, 1) === Date.new(2023, 1, 1)
引数(parameters)
obj
- obj: 比較対象となるDateオブジェクトまたはそれに類するオブジェクト
戻り値(return)
Boolean
指定された日付が、このDateオブジェクトの範囲内(日付、範囲、またはTimeオブジェクト)に含まれる場合に真(true)を返します。それ以外の場合は偽(false)を返します。