Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】Numeric::modulo()メソッドの使い方

moduloメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

moduloメソッドは、RubyのNumericクラスに属し、数値の剰余(じょうよ)を計算するために実行されるメソッドです。このメソッドは、a.modulo(b)のように呼び出され、abで割ったときの剰余を返します。ここで重要なのは、計算結果の符号が常に除数bの符号と同じになるという点です。

具体的な挙動を見てみましょう。例えば、7.modulo(3)1を返します。これは73で割ると商が2で余りが1となるためです。負の数を扱う場合、(-7).modulo(3)2を返します。これは、(-7)3で割るときの剰余を、除数である3と同じ正の符号を持つように計算した結果です。結果の20から3の絶対値未満の範囲(012)に収まります。

また、7.modulo(-3)-2を返します。この場合も、除数-3と同じ負の符号を持つ結果が得られます。同様に、(-7).modulo(-3)-1を返します。

Rubyには剰余を計算する%演算子も存在しますが、moduloメソッドは負の数の扱いで%演算子とは異なる挙動を示します。%演算子の結果は被除数の符号に依存するのに対し、moduloメソッドの結果は除数の符号に依存します。この特性により、moduloメソッドは数学的なモジュロ演算の定義により近い結果を提供するため、特定の範囲内で値が循環するようにしたい場合や、周期的な計算を行う際に特に役立ちます。

構文(syntax)

17.modulo(3)

引数(parameters)

req

  • other: Numeric: 割る対象となる数値を指定します

戻り値(return)

Numeric

指定された数値を割ったときの余りを返します。

関連コンテンツ

関連プログラミング言語