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

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

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

作成日: 更新日:

基本的な使い方

*メソッドは、有理数オブジェクト同士、または有理数オブジェクトと他の数値型との乗算を実行するメソッドです。このメソッドは、Rationalクラスのインスタンスに対して使用され、レシーバーである有理数と引数として渡された数値を掛け合わせた結果を返します。

引数としてRationalオブジェクトやInteger(整数)が渡された場合、計算結果は可能な限りRationalオブジェクトとして返されます。これにより、分数としての正確な値を保ち、浮動小数点数で発生しうる誤差を避けることができます。例えば、Rational(1, 2) * Rational(1, 3)Rational(1, 6)を返しますし、Rational(2, 3) * 5Rational(10, 3)を返します。

一方で、引数としてFloat(浮動小数点数)が渡された場合、結果はFloatオブジェクトになります。これは、浮動小数点数との計算では、その精度に合わせた結果が返されるためです。例えば、Rational(1, 4) * 0.50.125(Float)を返します。

このように、*メソッドは、有理数の精度を維持しつつ、他の数値型との柔軟な乗算をサポートしており、分数を含む正確な算術計算をRubyで行う上で非常に重要です。

構文(syntax)

1Rational(1, 2) * 3

引数(parameters)

req

  • other: Rational: 自身と乗算する有理数を指定します。

戻り値(return)

Numeric

Rationalクラスの*メソッドは、自身が表す有理数と、引数として渡されたNumericクラスのオブジェクト(数値)との積を計算し、その結果をNumericクラス(整数の場合はInteger、それ以外はFloatまたはRational)のオブジェクトとして返します。

関連コンテンツ