【Ruby3.x】Numeric::infinite?()メソッドの使い方
infinite?メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
infinite?メソッドは、数値が無限大(Infinity)であるかどうかを判定するメソッドです。このメソッドは、呼び出されたNumericオブジェクトが正の無限大である場合は1を、負の無限大である場合は-1を返します。数値が有限な値(通常の整数や浮動小数点数)である場合、または非数(NaN: Not a Number)である場合はnilを返します。
主に浮動小数点数(Floatクラス)の特殊な値である無限大を扱う際に利用されます。例えば、Float::INFINITY.infinite?は1を返し、(-Float::INFINITY).infinite?は-1を返します。これに対し、100.infinite?や3.14.infinite?、Float::NAN.infinite?はいずれもnilを返します。
このメソッドは、数値計算の結果が無限大になっていないかを確認し、それに応じた処理を行う際に役立ちます。特に、システムが予期せぬ大きな値を扱った結果、無限大が発生する可能性のあるケースで、堅牢なエラーハンドリングを実装するために活用できます。Integerクラスのオブジェクトに対してこのメソッドを呼び出した場合、常にnilが返されます。
構文(syntax)
1Float::INFINITY.infinite?
引数(parameters)
引数なし
引数はありません
戻り値(return)
Integer, nil
数値が無限大である場合に整数 1 を返します。それ以外の場合は nil を返します。