【Ruby3.x】Date::infinite?()メソッドの使い方
infinite?メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
infinite?メソッドは、Dateオブジェクトが「無限大」の日付を表しているかどうかを判定するメソッドです。RubyのDateクラスには、特定の日付を示す通常のオブジェクトだけでなく、計算上の便宜や特殊な状況を表すために「無限大」の日付という概念が導入されています。これは主に、Date::INFINITYという定数によって表現される特別なDateオブジェクトであり、現実世界の特定の日付とは異なるものです。
このinfinite?メソッドは、レシーバーであるDateオブジェクトが、このDate::INFINITYで表される「無限大」の日付である場合にのみtrueを返します。例えば、日付範囲の最大値や最小値を扱う際に、その範囲が無限であることを示すためにDate::INFINITYが使われることがあります。通常の、具体的な年月日を持つDateオブジェクト、あるいはDate::INFINITYではない他の値に対してこのメソッドを呼び出した場合は、falseを返します。
このメソッドを使用することで、プログラム内で日付が有効な特定の値であるか、それとも特別な意味を持つ無限大の値であるかを容易に区別し、適切な処理を分岐させることが可能になります。
構文(syntax)
1require 'date' 2 3# Date::Infinity オブジェクトが無限大であるかを判定します。 4Date::Infinity.new.infinite? # => true 5 6# 通常の Date オブジェクトが無限大であるかを判定します。 7Date.new(2023, 1, 1).infinite? # => false
引数(parameters)
引数なし
引数はありません
戻り値(return)
Boolean
このメソッドは、Dateオブジェクトが無限の日付を表している場合に真偽値 true を返します。そうでない場合は false を返します。