Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > rationalライブラリ > Rationalクラス > reduce

singleton method Rational.reduce

reduce(num, den = 1) -> Rational[permalink][rdoc]

約分された Rational オブジェクトを生成します。

[PARAM] num:
分子を指定します。
[PARAM] den:
分母を指定します。省略した場合は 1 です。
[EXCEPTION] ZeroDivisionError:
den に 0 を指定した場合に発生します。

引数 num、den の両方を指定した場合、num/den を既約になるまで約分した Rational オブジェクトを返します。

Kernel#Rational とは異なり、num と den には整数しか指定できません。

例:

Rational.reduce(2, 6)              # => Rational(1, 3)
Rational.reduce(Rational(1, 3), 1) # => NoMethodError: undefined method `gcd' for Rational(1, 3):Rational

注意:

Rational.reduce は 1.9 系 では廃止されました。Kernel.#Rational の 方を使用してください。

# 1.9.1 の場合
Rational.reduce(2, 6)  # => NoMethodError