Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > rationalライブラリ > Kernelモジュール > Rational
Rational(num, den = 1) -> Rational | Integer
[permalink][rdoc] [added by rational]
Rational オブジェクトを生成します。
引数 num、den の両方を指定した場合、num/den を既約になるまで約分した Rational オブジェクトを返します。
num と den には整数を指定します。den が 1 の時に限り、num に Rational オブジェクトを指定する事もできます。
例:
Rational(1, 3) # => Rational(1, 3) Rational(2, 6) # => Rational(1, 3) Rational(Rational(1, 3), 1) # => Rational(1, 3)
それ以外のオブジェクトを指定すると例外が発生します。
Rational(Rational(1, 3), 2) # => NoMethodError Rational(1.1, 2.3) # => NoMethodError Rational("1/3") # => NoMethodError Rational(nil) # => NoMethodError
mathn を require 済みの場合は約分して整数になる値を指定すると Integer を返します。
Rational(4, 2) # => Rational(2, 1) require "mathn" Rational(4, 2) # => 2
約分していない Rational オブジェクトを作成する場合は Rational.new! を使用します。ただし、1.9 以降では使用できない事に 注意してください。
[SEE_ALSO] Rational.new!, Rational.reduce, mathn