Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > library rational
library rational
クラスとモジュール
class Rational | Integer < Rational < Float の順に強いです。つまり other が Float なら、 self を Float に変換してから演算子を適用します。other が Integer なら other を Rational に変換してから演算子を適用します。冪乗は例外です。 |
追加・再定義されるメソッド
Bignum#self ** other
[redefined by rational]Bignum#rpower(other)
[redefined by rational]-
Returns a Rational number if the result is in fact rational (i.e. +other+ < 0).
Bignum#power!(other)
[added by rational]Bignum#quo(other)
[redefined by rational]-
If Rational is defined, returns a Rational number instead of a Bignum.
Fixnum#self ** other
[redefined by rational]Fixnum#rpower(other)
[redefined by rational]-
Returns a Rational number if the result is in fact rational (i.e. other < 0).
Fixnum#power!(other)
[added by rational]Fixnum#quo(other)
[redefined by rational]-
If Rational is defined, returns a Rational number instead of a Fixnum.
Integer#self ** other
[redefined by rational]-
べき乗。
- otherが正または0の整数(Integer)ならば、整数(Integer)を返す。
- otherが負の整数(Integer)ならば、有理数(Rational)を返す。
- otherが有理数(Rational)や浮動小数(Float)ならば、浮動小数(Float)を返す。
2 ** 3 #=> 8 2 ** -3 #=> Rational(1, 8) 2 ** Rational(3) #=> 8.0
Integer#self / other
[redefined by rational]-
除算。
- otherが有理数(Rational)ならば、有理数(Rational)を返す。
- otherがそれ以外なら、Integer#/と同じ。つまり、 other が整数(Integer)ならば、整数(Integer)を(整除)、浮動小数(Float)ならば、 浮動小数(Float)を返す。 ただし、いずれも、other == 0 の時は、ZeroDivisionErrorとなる。
Integer#denominator
[added by rational]-
In an integer, the denominator is 1. Therefore, this method returns 1.
Integer#gcd(n)
[added by rational]-
self と n の最大公約数を Fixnum として返す。 self や n が負の場合は、正に変換してから計算する。
72.gcd 168 # -> 24 19.gcd 36 # -> 1
Integer#gcdlcm(int)
[added by rational]-
最大公約数と最小公倍数の配列 [self.gcd, self.lcm] を返します。
6.gcdlcm 9 # -> [3, 18]
Integer#lcm(n)
[added by rational]-
self と n の最小公倍数を返す。 self や n が負の場合は、正に変換してから計算する。
6.lcm 7 # -> 42 6.lcm 9 # -> 18
Integer#numerator
[added by rational]-
In an integer, the value is the numerator of its rational equivalent. Therefore, this method returns self.
Integer#power!(other)
[added by rational]-
rationalで再定義される前のInteger#**の別名。 other が正または 0 の整数 (Integer) ならば、 整数 (Integer) を、それ以外なら、浮動小数 (Float) を返す。
Integer#to_r
[added by rational]-
対応する有理数 (Rational) を返す。 Rational(self, 1) と同じ。
Kernel#Rational(a, b)
[added by rational]-
Rational オブジェクトを生成する。
Creates a Rational number (i.e. a fraction). +a+ and +b+ should be Integers:
Rational(1,3) # -> 1/3
Note: trying to construct a Rational with floating point or real values produces errors:
Rational(1.1, 2.3) # -> NoMethodError