【Ruby3.x】Float::modulo()メソッドの使い方
moduloメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
moduloメソッドは、浮動小数点数(小数)に対する剰余(割り算の余り)を計算するメソッドです。このメソッドはRubyのFloatクラスに属しており、x.modulo(y) の形式で利用します。ここで、xが割られる数、yが割る数を表します。
特に重要なのは、計算結果の剰余の符号が、割られる数 x の符号と同じになる点です。これは、一般的なプログラミング言語の剰余演算子(Rubyでは % 演算子)が割る数 y の符号に結果を合わせるのと異なり、数学的な剰余の定義に厳密に従います。
具体的には、yが正の数の場合、結果は 0 以上 y 未満の範囲で、xと同じ符号を持ちます。また、yが負の数の場合、結果は y より大きく 0 以下の範囲で、これも x と同じ符号を持ちます。例えば、5.0.modulo(3.0) は 2.0 を返し、-5.0.modulo(3.0) は -2.0 を返します。
このように、割られる数の符号が結果の符号に影響を与えるため、浮動小数点数で厳密な剰余計算を行う必要がある場面や、数学的なアルゴリズムを実装する際に、このmoduloメソッドは非常に役立ちます。正確な数学的剰余が必要な場合に活用してください。
構文(syntax)
110.0.modulo(3.0)
引数(parameters)
other
- other: 割られる数(浮動小数点数)
戻り値(return)
Float
Floating-point number divided by the divisor modulo. This result is the remainder of the division operation.