【Ruby3.x】Numeric::remainder()メソッドの使い方
remainderメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
remainderメソッドは、数値の割り算における剰余(あまり)を計算するメソッドです。このメソッドはNumericクラスに属しており、self.remainder(other)の形式で使用します。ここでselfは割り算の被除数を、otherは除数を表します。
このメソッドの最大の特徴は、計算結果の剰余の符号が、常に被除数(元の数)の符号と同じになる点です。例えば、7.remainder(3)は1を返し、-7.remainder(3)は-1を返します。これは、数学的な剰余の定義に基づいた挙動です。
具体的には、a.remainder(b)はa - b * qという計算で求められます。ここでqは、a / bの商を「0の方向へ丸めた」整数です。例えば、7 / 3は2.33...ですのでqは2となり、7.remainder(3)は7 - 3 * 2 = 1となります。また、-7 / 3は-2.33...ですのでqは-2となり、-7.remainder(3)は-7 - 3 * (-2) = -1となります。
Rubyにおける剰余計算には、%演算子(モジュロ演算子)もありますが、%演算子の結果の符号は除数(割る数)の符号と同じになるため、remainderメソッドとは異なる結果になる場合があります。例えば、-7 % 3は2を返しますが、これはremainderメソッドとは異なる点です。
remainderメソッドは、数学的な定義に基づく厳密な剰余を計算したい場合に特に有用で、正確な剰余計算が必要な場面で活用できます。
構文(syntax)
17.remainder(3)
引数(parameters)
other
- other: 割られる数。整数または浮動小数点数。
戻り値(return)
Numeric
このメソッドは、レシーバ(メソッドを呼び出した数値)を引数で指定された数値で割ったときの余りを返します。 例えば、5.remainder(2) は 1 を返します。