るりまサーチ (Ruby 2.3.0)

最速Rubyリファレンスマニュアル検索!
52件ヒット [1-52件を表示] (0.043秒)

別のキーワード

  1. _builtin rational
  2. rational **
  3. json/add/rational to_json
  4. json/add/rational json_create
  5. rational +

クラス

モジュール

キーワード

検索結果

Rational (132187.0)

有理数を扱うクラスです。

有理数を扱うクラスです。

「1/3」のような有理数を扱う事ができます。Integer や Float
と同様に Rational.new ではなく、 Kernel.#Rational を使用して
Rational オブジェクトを作成します。

//emlist[例][ruby]{
Rational(1, 3) # => (1/3)
Rational('1/3') # => (1/3)
Rational('0.33') # => (33/100)
Rational.new(1, 3) # => NoMethodError
//}

Rational オブジェク...

Rational#rationalize(eps = 0) -> Rational (109312.0)

自身から eps で指定した許容誤差の範囲に収まるような Rational を返 します。

自身から eps で指定した許容誤差の範囲に収まるような Rational を返
します。

eps を省略した場合は self を返します。

@param eps 許容する誤差

//emlist[例][ruby]{
r = Rational(5033165, 16777216)
r.rationalize # => (5033165/16777216)
r.rationalize(Rational(0.01)) # => (3/10)
r.rationalize(Rational(0.1)) # => (1/3)
//}

Rational#denominator -> Integer (90397.0)

分母を返します。常に正の整数を返します。

分母を返します。常に正の整数を返します。

@return 分母を返します。

//emlist[例][ruby]{
Rational(7).denominator # => 1
Rational(7, 1).denominator # => 1
Rational(9, -4).denominator # => 4
Rational(-2, -10).denominator # => 5
//}

@see Rational#numerator

Rational#numerator -> Integer (90397.0)

分子を返します。

分子を返します。

@return 分子を返します。

//emlist[例][ruby]{
Rational(7).numerator # => 7
Rational(7, 1).numerator # => 7
Rational(9, -4).numerator # => -9
Rational(-2, -10).numerator # => 1
//}

@see Rational#denominator

Rational#truncate(precision = 0) -> Rational | Integer (82126.0)

小数点以下を切り捨てて値を整数に変換します。

小数点以下を切り捨てて値を整数に変換します。

@param precision 計算結果の精度

@raise TypeError precision に整数以外のものを指定すると発生します。

//emlist[例][ruby]{
Rational(2, 3).to_i # => 0
Rational(3).to_i # => 3
Rational(300.6).to_i # => 300
Rational(98, 71).to_i # => 1
Rational(-31, 2).to_i # => -15
//}

precision を指定した場合は指定した桁数で切り...

絞り込み条件を変える

Kernel.#Rational(x, y = 1) -> Rational (73765.0)

引数を有理数(Rational)に変換した結果を返します。

引数を有理数(Rational)に変換した結果を返します。

@param x 変換対象のオブジェクトです。

@param y 変換対象のオブジェクトです。省略した場合は x だけを用いて
Rational オブジェクトを作成します。


@raise ArgumentError 変換できないオブジェクトを指定した場合に発生します。

引数 x、y の両方を指定した場合、x/y した Rational オブジェクトを
返します。

//emlist[例][ruby]{
Rational("1/3") # => (1/3)
Rational(1, 3) ...

Rational#**(other) -> Rational | Float (72964.0)

冪(べき)乗を計算します。

冪(べき)乗を計算します。

@param other 自身を other 乗する数

other に Float を指定した場合は、計算結果を Float で返しま
す。other が有理数であっても、計算結果が無理数だった場合は Float
を返します。

//emlist[例][ruby]{
r = Rational(3, 4)
r ** Rational(2, 1) # => (9/16)
r ** 2 # => (9/16)
r ** 2.0 # => 0.5625
r ** Rational(1, 2) # => 0.866...

Rational#/(other) -> Rational | Float (72949.0)

商を計算します。

商を計算します。

@param other 自身を割る数

other に Float を指定した場合は、計算結果を Float で返します。

//emlist[例][ruby]{
r = Rational(3, 4)
r / 2 # => (3/8)
r / 2.0 # => 0.375
r / 0.5 # => 1.5
r / Rational(1, 2) # => (3/2)
r / 0 # => ZeroDivisionError
//}

@raise ZeroD...

Rational#quo(other) -> Rational | Float (72949.0)

商を計算します。

商を計算します。

@param other 自身を割る数

other に Float を指定した場合は、計算結果を Float で返します。

//emlist[例][ruby]{
r = Rational(3, 4)
r / 2 # => (3/8)
r / 2.0 # => 0.375
r / 0.5 # => 1.5
r / Rational(1, 2) # => (3/2)
r / 0 # => ZeroDivisionError
//}

@raise ZeroD...

Rational#*(other) -> Rational | Float (72946.0)

積を計算します。

積を計算します。

@param other 自身に掛ける数

other に Float を指定した場合は、計算結果を Float で返しま
す。

//emlist[例][ruby]{
r = Rational(3, 4)
r * 2 # => (3/2)
r * 4 # => (3/1)
r * 0.5 # => 0.375
r * Rational(1, 2) # => (3/8)
//}

絞り込み条件を変える

Rational#+(other) -> Rational | Float (72946.0)

和を計算します。

和を計算します。

@param other 自身に足す数

other に Float を指定した場合は、計算結果を Float で返しま
す。

//emlist[例][ruby]{
r = Rational(3, 4)
r + Rational(1, 2) # => (5/4)
r + 1 # => (7/4)
r + 0.5 # => 1.25
//}

Rational#-(other) -> Rational | Float (72928.0)

差を計算します。

差を計算します。

@param other 自身から引く数

other に Float を指定した場合は、計算結果を Float で返しま
す。

//emlist[例][ruby]{
r = Rational(3, 4)
r - 1 # => (-1/4)
r - 0.5 # => 0.25
//}

Rational#floor(precision = 0) -> Integer | Rational (72898.0)

自身と等しいかより小さな整数のうち最大のものを返します。

自身と等しいかより小さな整数のうち最大のものを返します。

@param precision 計算結果の精度

@raise TypeError precision に整数以外のものを指定すると発生します。

//emlist[例][ruby]{
Rational(3).floor # => 3
Rational(2, 3).floor # => 0
Rational(-3, 2).floor # => -2
//}

Rational#to_i とは違う結果を返す事に注意してください。

//emlist[例][ruby]{
Rational(+7, 4).to_i # => ...

Rational#round(precision = 0) -> Integer | Rational (72826.0)

自身ともっとも近い整数を返します。

自身ともっとも近い整数を返します。

中央値 0.5, -0.5 はそれぞれ 1,-1 に切り上げされます。

@param precision 計算結果の精度

@raise TypeError precision に整数以外のものを指定すると発生します。

//emlist[例][ruby]{
Rational(3).round # => 3
Rational(2, 3).round # => 1
Rational(-3, 2).round # => -2
//}

precision を指定した場合は指定した桁数の数値と、上述の性質に最も近い整
数か Rational を返し...

Rational#ceil(precision = 0) -> Integer | Rational (72808.0)

自身と等しいかより大きな整数のうち最小のものを返します。

自身と等しいかより大きな整数のうち最小のものを返します。

@param precision 計算結果の精度

@raise TypeError precision に整数以外のものを指定すると発生します。

//emlist[例][ruby]{
Rational(3).ceil # => 3
Rational(2, 3).ceil # => 1
Rational(-3, 2).ceil # => -1
//}

precision を指定した場合は指定した桁数の数値と、上述の性質に最も近い整
数か Rational を返します。

//emlist[例][ruby]{
Ra...

絞り込み条件を変える

Rational#convert(*arg) -> Rational (72694.0)

引数を有理数(Rational)に変換した結果を返します。

引数を有理数(Rational)に変換した結果を返します。

@param arg 変換対象のオブジェクトです。

Kernel.#Rational の本体です。

@see Kernel.#Rational

Rational#to_r -> Rational (72646.0)

自身を返します。

自身を返します。

@return 自身を返します。

//emlist[例][ruby]{
Rational(3, 4).to_r # => (3/4)
Rational(8).to_r # => (8/1)
//}

Rational#to_f -> Float (72451.0)

自身の値を最も良く表現する Float に変換します。

自身の値を最も良く表現する Float に変換します。

絶対値が極端に小さい、または大きい場合にはゼロや無限大が返ることがあります。

@return Float を返します。

//emlist[例][ruby]{
Rational(2).to_f # => 2.0
Rational(9, 4).to_f # => 2.25
Rational(-3, 4).to_f # => -0.75
Rational(20, 3).to_f # => 6.666666666666667
Rational(1, 10**1000...

Rational#fdiv(other) -> Float (72397.0)

self を other で割った商を Float で返します。 other に虚数を指定することは出来ません。

self を other で割った商を Float で返します。
other に虚数を指定することは出来ません。

@param other 自身を割る数

//emlist[例][ruby]{
Rational(2, 3).fdiv(1) # => 0.6666666666666666
Rational(2, 3).fdiv(0.5) # => 1.3333333333333333
Rational(2).fdiv(3) # => 0.6666666666666666

Rational(1).fdiv(Complex(1, 0)) # => 1.0
Rational(1)...

Rational#to_i -> Integer (72226.0)

小数点以下を切り捨てて値を整数に変換します。

小数点以下を切り捨てて値を整数に変換します。

@param precision 計算結果の精度

@raise TypeError precision に整数以外のものを指定すると発生します。

//emlist[例][ruby]{
Rational(2, 3).to_i # => 0
Rational(3).to_i # => 3
Rational(300.6).to_i # => 300
Rational(98, 71).to_i # => 1
Rational(-31, 2).to_i # => -15
//}

precision を指定した場合は指定した桁数で切り...

絞り込み条件を変える

Rational#<=>(other) -> -1 | 0 | 1 | nil (72151.0)

self と other を比較して、self が大きい時に 1、等しい時に 0、小さい時に -1 を返します。比較できない場合はnilを返します。

self と other を比較して、self が大きい時に 1、等しい時に 0、小さい時に
-1 を返します。比較できない場合はnilを返します。

@param other 自身と比較する数値

@return -1 か 0 か 1 か nil を返します。

//emlist[例][ruby]{
Rational(2, 3) <=> Rational(2, 3) # => 0
Rational(5) <=> 5 # => 0
Rational(2, 3) <=> Rational(1,3) # => 1
Rational(1, 3...

Rational#==(other) -> bool (72115.0)

数値として等しいか判定します。

数値として等しいか判定します。

@param other 自身と比較する数値

@return self と other が等しい場合 true を返します。
そうでなければ false を返します。

//emlist[例][ruby]{
Rational(2, 3) == Rational(2, 3) # => true
Rational(5) == 5 # => true
Rational(0) == 0.0 # => true
Rational('1/3') == 0....

Rational#inspect -> String (72097.0)

自身を人間が読みやすい形の文字列表現にして返します。

自身を人間が読みやすい形の文字列表現にして返します。

"(3/5)", "(-17/7)" のように10進数の表記を返します。

@return 有理数の表記にした文字列を返します。

//emlist[例][ruby]{
Rational(5, 8).inspect # => "(5/8)"
Rational(2).inspect # => "(2/1)"
Rational(-8, 6).inspect # => "(-4/3)"
Rational(0.5).inspect # => "(1/2)"
//}

@see Rational#to_s

Rational#to_s -> String (72097.0)

自身を人間が読みやすい形の文字列表現にして返します。

自身を人間が読みやすい形の文字列表現にして返します。

"3/5", "-17/7" のように10進数の表記を返します。

@return 有理数の表記にした文字列を返します。

//emlist[例][ruby]{
Rational(3, 4).to_s # => "3/4"
Rational(8).to_s # => "8/1"
Rational(-8, 6).to_s # => "-4/3"
Rational(0.5).to_s # => "1/2"
//}

@see Rational#inspect

Rational#marshal_dump -> Array (72073.0)

Marshal.#load のためのメソッドです。 Rational::compatible#marshal_load で復元可能な配列を返します。

Marshal.#load のためのメソッドです。
Rational::compatible#marshal_load で復元可能な配列を返します。

[注意] Rational::compatible は通常の方法では参照する事ができません。

絞り込み条件を変える

Rational#coerce(other) -> Array (72043.0)

自身と other が同じクラスになるよう、自身か other を変換し [other, self] という 配列にして返します。

自身と other が同じクラスになるよう、自身か other を変換し [other, self] という
配列にして返します。

@param other 比較または変換するオブジェクト

//emlist[例][ruby]{
Rational(1).coerce(2) # => [(2/1), (1/1)]
Rational(1).coerce(2.2) # => [2.2, 1.0]
//}

Rational#hash -> Integer (72007.0)

自身のハッシュ値を返します。

自身のハッシュ値を返します。

@return ハッシュ値を返します。


@see Object#hash

Time.at(time) -> Time (54466.0)

time で指定した時刻の Time オブジェクトを返します。

time で指定した時刻の Time オブジェクトを返します。

引数が数値の場合、生成された Time オブジェクトのタイムゾーンは地方時となります。

@param time Time オブジェクト、もしくは起算時からの経過秒数を表わす数値で指定します。

//emlist[][ruby]{
Time.at(0) # => 1970-01-01 09:00:00 +0900
Time.at(Time.at(0)) # => 1970-01-01 09:00:00 +0900
Time...

Time.at(time, usec) -> Time (54391.0)

time + (usec/1000000) の時刻を表す Time オブジェクトを返します。 浮動小数点の精度では不十分な場合に使用します。

time + (usec/1000000) の時刻を表す Time オブジェクトを返します。
浮動小数点の精度では不十分な場合に使用します。

生成された Time オブジェクトのタイムゾーンは地方時となります。

@param time 起算時からの経過秒数を表わす値をInteger、 Float、 Rational、または他のNumericで指定します。

@param usec マイクロ秒をInteger、 Float、 Rational、または他のNumericで指定します。


//emlist[][ruby]{
Time.at(946684800, 123456.789).nse...

Float#rationalize -> Rational (46279.0)

自身から eps で指定した許容誤差の範囲に収まるような Rational を返 します。

自身から eps で指定した許容誤差の範囲に収まるような Rational を返
します。

eps を省略した場合は誤差が最も小さくなるような Rational を返しま
す。

@param eps 許容する誤差

//emlist[例][ruby]{
0.3.rationalize # => (3/10)
1.333.rationalize # => (1333/1000)
1.333.rationalize(0.01) # => (4/3)
//}

絞り込み条件を変える

Float#rationalize(eps) -> Rational (46279.0)

自身から eps で指定した許容誤差の範囲に収まるような Rational を返 します。

自身から eps で指定した許容誤差の範囲に収まるような Rational を返
します。

eps を省略した場合は誤差が最も小さくなるような Rational を返しま
す。

@param eps 許容する誤差

//emlist[例][ruby]{
0.3.rationalize # => (3/10)
1.333.rationalize # => (1333/1000)
1.333.rationalize(0.01) # => (4/3)
//}

Complex#rationalize -> Rational (37264.0)

自身を Rational に変換します。

自身を Rational に変換します。

@param eps 許容する誤差。常に無視されます。

@raise RangeError 虚部が実数か、0 ではない場合に発生します。

//emlist[例][ruby]{
Complex(3).to_r # => (3/1)
Complex(3, 2).to_r # => RangeError
//}

Complex#rationalize(eps) -> Rational (37264.0)

自身を Rational に変換します。

自身を Rational に変換します。

@param eps 許容する誤差。常に無視されます。

@raise RangeError 虚部が実数か、0 ではない場合に発生します。

//emlist[例][ruby]{
Complex(3).to_r # => (3/1)
Complex(3, 2).to_r # => RangeError
//}

Integer#rationalize -> Rational (37261.0)

自身を Rational に変換します。

自身を Rational に変換します。

@param eps 許容する誤差

引数 eps は常に無視されます。

//emlist[][ruby]{
2.rationalize # => (2/1)
2.rationalize(100) # => (2/1)
2.rationalize(0.1) # => (2/1)
//}

Integer#rationalize(eps) -> Rational (37261.0)

自身を Rational に変換します。

自身を Rational に変換します。

@param eps 許容する誤差

引数 eps は常に無視されます。

//emlist[][ruby]{
2.rationalize # => (2/1)
2.rationalize(100) # => (2/1)
2.rationalize(0.1) # => (2/1)
//}

絞り込み条件を変える

NilClass#rationalize -> Rational (37213.0)

0/1 を返します。

0/1 を返します。

@param eps 許容する誤差

引数 eps は常に無視されます。

//emlist[例][ruby]{
nil.rationalize # => (0/1)
nil.rationalize(100) # => (0/1)
nil.rationalize(0.1) # => (0/1)
//}

NilClass#rationalize(eps) -> Rational (37213.0)

0/1 を返します。

0/1 を返します。

@param eps 許容する誤差

引数 eps は常に無視されます。

//emlist[例][ruby]{
nil.rationalize # => (0/1)
nil.rationalize(100) # => (0/1)
nil.rationalize(0.1) # => (0/1)
//}

Float#denominator -> Integer (27355.0)

自身を Rational に変換した時の分母を返します。

自身を Rational に変換した時の分母を返します。

@return 分母を返します。

//emlist[例][ruby]{
2.0.denominator # => 1
0.5.denominator # => 2
//}

@see Float#numerator

Float#numerator -> Integer (27355.0)

自身を Rational に変換した時の分子を返します。

自身を Rational に変換した時の分子を返します。

@return 分子を返します。

//emlist[例][ruby]{
2.0.numerator # => 2
0.5.numerator # => 1
//}

@see Float#denominator

Complex#to_r -> Rational (18664.0)

自身を Rational に変換します。

自身を Rational に変換します。

@param eps 許容する誤差。常に無視されます。

@raise RangeError 虚部が実数か、0 ではない場合に発生します。

//emlist[例][ruby]{
Complex(3).to_r # => (3/1)
Complex(3, 2).to_r # => RangeError
//}

絞り込み条件を変える

Numeric#denominator -> Integer (18373.0)

自身を Rational に変換した時の分母を返します。

自身を Rational に変換した時の分母を返します。

@return 分母を返します。


@see Numeric#numerator、Integer#denominator、Float#denominator、Rational#denominator、Complex#denominator

Numeric#numerator -> Integer (18373.0)

自身を Rational に変換した時の分子を返します。

自身を Rational に変換した時の分子を返します。

@return 分子を返します。


@see Numeric#denominator、Integer#numerator、Float#numerator、Rational#numerator、Complex#numerator

Float#to_r -> Rational (9658.0)

自身を Rational に変換します。

自身を Rational に変換します。

//emlist[例][ruby]{
0.5.to_r # => (1/2)
//}

Numeric#quo(other) -> Rational | Float | Complex (928.0)

self を other で割った商を返します。 整商を得たい場合は Numeric#div を使ってください。

self を other で割った商を返します。
整商を得たい場合は Numeric#div を使ってください。

Numeric#fdiv が結果を Float で返すメソッドなのに対して quo はなるべく正確な数値を返すことを意図しています。
具体的には有理数の範囲に収まる計算では Rational の値を返します。
Float や Complex が関わるときはそれらのクラスになります。

Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。


@param other 自身を割る数を指定します。

//emlist[例][ruby]{
1.quo(3)...

String#to_r -> Rational (712.0)

自身を有理数(Rational)に変換した結果を返します。

自身を有理数(Rational)に変換した結果を返します。

Kernel.#Rational に文字列を指定した時のように、以下のいずれかの形
式で指定します。

* "1/3" のような分数の形式
* "0.3" のような10進数の形式
* "0.3E0" のような x.xEn の形式
* 数字をアンダースコアで繋いだ形式

//emlist[例][ruby]{
' 2 '.to_r # => (2/1)
'1/3'.to_r # => (1/3)
'-9.2'.to_r # => (-46/5)
'-9.2E2'.to_r ...

絞り込み条件を変える

Integer#to_r -> Rational (658.0)

自身を Rational に変換します。

自身を Rational に変換します。

//emlist[][ruby]{
1.to_r # => (1/1)
(1<<64).to_r # => (18446744073709551616/1)
//}

Time#subsec -> Integer | Rational (628.0)

時刻を表す分数を返します。

時刻を表す分数を返します。

Rational を返す場合があります。

//emlist[][ruby]{
t = Time.local(2000,1,2,3,4,5,6)
p "%10.9f" % t.to_f # => "946749845.000005960"
p t.subsec #=> (3/500000)
//}

to_f の値と subsec の値の下のほうの桁の値は異なる場合があります。
というのは IEEE 754 double はそれを表すのに十分な精度を
持たないからです。subsec で得られる値が正確です。

NilClass#to_r -> Rational (610.0)

0/1 を返します。

0/1 を返します。

//emlist[例][ruby]{
nil.to_r # => (0/1)
//}

Time#to_r -> Rational (610.0)

起算時からの経過秒数を有理数で返します。1 秒に満たない経過も 表現されます。

起算時からの経過秒数を有理数で返します。1 秒に満たない経過も
表現されます。

//emlist[][ruby]{
t = Time.local(2000,1,2,3,4,5,6)
p t # => 2000-01-02 03:04:05 +0900
p t.to_r # => (473374922500003/500000)
//}

Random#rand -> Float (361.0)

一様な擬似乱数を発生させます。

一様な擬似乱数を発生させます。

最初の形式では 0.0 以上 1.0 未満の実数を返します。

二番目の形式では 0 以上 max 未満の数を返します。
max が正の整数なら整数を、正の実数なら実数を返します。
0 や負の数を指定することは出来ません。

三番目の形式では range で指定された範囲の値を返します。
range の始端と終端が共に整数の場合は整数を、少なくとも片方が実数の場合は実数を返します。
rangeが終端を含まない(つまり ... で生成した場合)には終端の値は乱数の範囲から除かれます。
range.end - range.begin が整数を返す場合は rang...

絞り込み条件を変える

Random#rand(max) -> Integer | Float (361.0)

一様な擬似乱数を発生させます。

一様な擬似乱数を発生させます。

最初の形式では 0.0 以上 1.0 未満の実数を返します。

二番目の形式では 0 以上 max 未満の数を返します。
max が正の整数なら整数を、正の実数なら実数を返します。
0 や負の数を指定することは出来ません。

三番目の形式では range で指定された範囲の値を返します。
range の始端と終端が共に整数の場合は整数を、少なくとも片方が実数の場合は実数を返します。
rangeが終端を含まない(つまり ... で生成した場合)には終端の値は乱数の範囲から除かれます。
range.end - range.begin が整数を返す場合は rang...

Random#rand(range) -> Integer | Float (361.0)

一様な擬似乱数を発生させます。

一様な擬似乱数を発生させます。

最初の形式では 0.0 以上 1.0 未満の実数を返します。

二番目の形式では 0 以上 max 未満の数を返します。
max が正の整数なら整数を、正の実数なら実数を返します。
0 や負の数を指定することは出来ません。

三番目の形式では range で指定された範囲の値を返します。
range の始端と終端が共に整数の場合は整数を、少なくとも片方が実数の場合は実数を返します。
rangeが終端を含まない(つまり ... で生成した場合)には終端の値は乱数の範囲から除かれます。
range.end - range.begin が整数を返す場合は rang...