rational.rb

--> Rational

関数:

Rational(a, b)

Rational オブジェクトを生成する。

Integer

rational を require すると Integer のメソッドが以下のように再定義される。

メソッド

self / other

除算。

  • otherが有理数(Rational)ならば、有理数(Rational)を返す。
  • otherがそれ以外なら、オリジナルの`/'と同じ。つまり、 other が整数(Integer)ならば、整数(Integer)を(整除)、浮動小数(Float)ならば、 浮動小数(Float)を返す。

ただし、いずれも、other == 0 の時は、ZeroDivisionErrorとなる。

self ** other

べき乗。

  • otherが正または0の整数(Integer)ならば、整数(Integer)を返す。
  • otherが負の整数(Integer)ならば、有理数(Rational)を返す。
  • otherが有理数(Rational)や浮動小数(Float)ならば、浮動小数(Float)を返す。
power!(other)

オリジナルの`**'と同じ。otherが正または0の整数(Integer)ならば、 整数(Integer)を、それ以外なら、浮動小数(Float)を返す。

to_r

対応する有理数(Rational)を返す。Rational(self, 1) と同じ。

gcd(n)

self と n の最大公約数を Fixnum として返す。self や n が負の場合は、正に 変換してから計算する。

lcm(n)

self と n の最小公倍数を返す。self や n が負の場合は、正に 変換してから計算する。

gcdlcm(int)

最大公約数と最小公倍数の配列 [self.gcd, self.lcm] を返します。



rubyist ML