module function Kernel.#Rational
Rational(num, den = 1) -> Rational | Integer
[added by rational]-
Rational オブジェクトを生成します。
- [PARAM] num:
- 分子を指定します。
- [PARAM] den:
- 分母を指定します。省略した場合は 1 です。
- [EXCEPTION] ZeroDivisionError:
- den に 0 を指定した場合に発生します。
引数 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
module Kernel