【Ruby3.x】Numeric::finite?()メソッドの使い方
finite?メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
finite?メソッドは、数値が有限であるかどうかを判定するメソッドです。
RubyのNumericクラスに属するこのメソッドは、数値オブジェクトが無限大(Infinity)や非数(NaN: Not a Number)ではない、通常の範囲に収まる値である場合にtrueを返します。もし値が無限大や非数である場合はfalseを返します。
具体的には、通常の整数(Integerクラスのオブジェクト)や、一般的な浮動小数点数(Floatクラスのオブジェクト)は常に有限であると見なされます。そのため、これらの値に対してfinite?メソッドを呼び出すと常にtrueが返されます。
これに対し、浮動小数点数の計算において生じる可能性のある特殊な値、例えばFloat::INFINITY(正の無限大)、-Float::INFINITY(負の無限大)、またはFloat::NAN(非数)は有限ではありません。これらの特殊な値に対してfinite?メソッドを実行すると、結果としてfalseが返されます。
このfinite?メソッドは、特に浮動小数点数を含む計算結果を扱う際に非常に有用です。計算によって予期せず発生する無限大や非数を検出し、プログラムがこれらの特殊な値を適切に処理できるよう、入力値の検証や結果の妥当性チェックに利用することができます。これにより、数値データの信頼性を高め、予期せぬエラーを防ぐことが可能です。
構文(syntax)
11.finite? 2(1.0).finite? 3Float::INFINITY.finite? 4Float::NAN.finite?
引数(parameters)
引数なし
引数はありません
戻り値(return)
戻り値なし
戻り値はありません