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

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

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

作成日: 更新日:

基本的な使い方

divmodメソッドは、ある整数を別の整数で割った際の商と剰余(あまり)を同時に計算して取得するメソッドです。このメソッドは、Integerクラスに属しており、Integerオブジェクトに対して呼び出すことができます。呼び出し元であるIntegerオブジェクト自身を、引数として指定された数値で割ります。戻り値は、計算された商と剰余を要素とする2要素の配列([商, 剰余])です。

このメソッドにおける商の計算は、結果が元の被除数と同じ符号になるように、常に小さい整数方向(負の無限大方向)に丸められます。また、剰余は、被除数 == 除数 * 商 + 剰余 という等式が成り立つように計算され、その符号は除数と同じになるという特徴があります。例えば、7.divmod(3) を実行すると [2, 1] という配列が返されます。一方、-7.divmod(3) を実行すると [-3, 2] が返され、7.divmod(-3) を実行すると [-3, -2] が返されます。

divmodメソッドは、商と剰余の両方を一度に必要とする場合に効率的であり、特に負の数を含む割り算において、Rubyの他の剰余演算子(%)や除算演算子(/)とは異なる特定の振る舞いをします。そのため、数値の周期性や特定の範囲での繰り返し計算など、独自の数値処理ロジックを実装する際に役立ちます。システムエンジニアを目指す初心者の方も、このメソッドの正確な動作を理解しておくことで、より堅牢で意図通りの数値計算をプログラムに組み込むことができるでしょう。

構文(syntax)

110.divmod(3)

引数(parameters)

req

  • other: Integer: 割られる数 (被除数)

戻り値(return)

Array<Numeric, Numeric>

整数の除算と剰余を同時に計算し、その結果を二つの数値の配列として返します。配列の最初の要素が商、二番目の要素が剰余となります。

関連コンテンツ

関連プログラミング言語