るりまサーチ (Ruby 2.1.0)

最速Rubyリファレンスマニュアル検索!
97件ヒット [1-97件を表示] (0.052秒)
トップページ > バージョン:2.1.0[x] > クエリ:Rational[x]

別のキーワード

  1. _builtin rational
  2. rational **
  3. rationalize rational
  4. rational -
  5. rational *

ライブラリ

クラス

モジュール

キーワード

検索結果

Rational (114181.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 (81706.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#floor(precision = 0) -> Integer | Rational (63592.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 (63520.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#truncate(precision = 0) -> Rational | Integer (63520.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#ceil(precision = 0) -> Integer | Rational (63502.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 (63388.0)

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

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

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

Kernel.#Rational の本体です。

@see Kernel.#Rational

Rational#**(other) -> Rational | Float (63358.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.json_create(hash) -> Rational (63352.0)

JSON のオブジェクトから Rational のオブジェクトを生成して返します。

JSON のオブジェクトから Rational のオブジェクトを生成して返します。

@param hash 分子をキー 'n'、分母をキー 'd' に持つハッシュを指定します。

Rational#/(other) -> Rational | Float (63343.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 (63343.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 (63340.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 (63340.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#to_r -> Rational (63340.0)

自身を返します。

自身を返します。

@return 自身を返します。

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

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

差を計算します。

差を計算します。

@param other 自身から引く数

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

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

絞り込み条件を変える

Rational#to_i -> Integer (63220.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 (63145.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#to_f -> Float (63145.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#==(other) -> bool (63109.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#denominator -> Integer (63091.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#fdiv(other) -> Float (63091.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#inspect -> String (63091.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#numerator -> Integer (63091.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#to_s -> String (63091.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 (63067.0)

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

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

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

絞り込み条件を変える

Rational#to_json(*args) -> String (63055.0)

自身を JSON 形式の文字列に変換して返します。

自身を JSON 形式の文字列に変換して返します。

内部的にはハッシュにデータをセットしてから JSON::Generator::GeneratorMethods::Hash#to_json を呼び出しています。

@param args 使用しません。

//emlist[例][ruby]{
require 'json/add/rational'
Rational(1, 3).to_json # => "{\"json_class\":\"Rational\",\"n\":1,\"d\":3}"
//}

@see JSON::Generator::GeneratorMethods::H...

Rational#**(rhs) -> Numeric (63037.0)

@todo

@todo

self のべき乗を返します。 Rational になるようであれば Rational で返します。

Rational#coerce(other) -> Array (63037.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#to_d(nFig) -> BigDecimal (63037.0)

自身を BigDecimal に変換します。

自身を BigDecimal に変換します。

nFig 桁まで計算を行います。

@param nFig 計算を行う桁数

@return BigDecimal に変換したオブジェクト

@raise ArgumentError nFig に 0 以下を指定した場合に発生します。

例:

require "bigdecimal"
require "bigdecimal/util"
Rational(1, 3).to_d(3).to_s # => "0.333E0"
Rational(1, 3).to_d(10).to_s # => "0.3333333333E0"

Rational#hash -> Integer (63001.0)

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

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

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


@see Object#hash

絞り込み条件を変える

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

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

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

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

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


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

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

Rational("1/3") # => (1/3)
Rational(1, 3) # =>...

Float#rationalize -> Rational (18673.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 (18673.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 (18658.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 (18658.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 (18655.0)

自身を Rational に変換します。

自身を Rational に変換します。

@param eps 許容する誤差

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

例:

2.rationalize # => (2/1)
2.rationalize(100) # => (2/1)
2.rationalize(0.1) # => (2/1)

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

自身を Rational に変換します。

自身を Rational に変換します。

@param eps 許容する誤差

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

例:

2.rationalize # => (2/1)
2.rationalize(100) # => (2/1)
2.rationalize(0.1) # => (2/1)

NilClass#rationalize -> Rational (18607.0)

0/1 を返します。

0/1 を返します。

@param eps 許容する誤差

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

例:

nil.rationalize # => (0/1)
nil.rationalize(100) # => (0/1)
nil.rationalize(0.1) # => (0/1)

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

0/1 を返します。

0/1 を返します。

@param eps 許容する誤差

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

例:

nil.rationalize # => (0/1)
nil.rationalize(100) # => (0/1)
nil.rationalize(0.1) # => (0/1)

json/add/rational (18049.0)

Rational に JSON 形式の文字列に変換するメソッドや JSON 形式の文字列から Ruby のオブジェクトに変換するメソッドを定義します。

Rational に JSON 形式の文字列に変換するメソッドや JSON 形式の文字列から Ruby のオブジェクトに変換するメソッドを定義します。

絞り込み条件を変える

Complex#to_r -> Rational (9358.0)

自身を Rational に変換します。

自身を Rational に変換します。

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

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

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

String#to_r -> Rational (406.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 ...

BigDecimal#to_r -> Rational (352.0)

self を Rational オブジェクトに変換します。

self を Rational オブジェクトに変換します。

Float#to_r -> Rational (352.0)

自身を Rational に変換します。

自身を Rational に変換します。

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

Integer#to_r -> Rational (352.0)

自身を Rational に変換します。

自身を Rational に変換します。

例:

1.to_r # => (1/1)
(1<<64).to_r # => (18446744073709551616/1)

絞り込み条件を変える

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

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

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

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

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


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

1.quo(3) #=> (1/3)
...

Time#subsec -> Integer | Rational (322.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 で得られる値が正確です。

DateTime#sec_fraction -> Rational (307.0)

秒の小数点以下の部分を表す分数を返します。

秒の小数点以下の部分を表す分数を返します。

DateTime#second_fraction -> Rational (307.0)

秒の小数点以下の部分を表す分数を返します。

秒の小数点以下の部分を表す分数を返します。

Matrix#det -> Rational | Float (307.0)

行列式 (determinant) の値を返します。

行列式 (determinant) の値を返します。

@raise ExceptionForMatrix::ErrDimensionMismatch 正方行列でない場合に発生します

絞り込み条件を変える

Matrix#det_e -> Rational | Float (307.0)

不正な値を返します。 Matrix#determinant を代わりに使ってください。

不正な値を返します。
Matrix#determinant を代わりに使ってください。

Matrix#determinant -> Rational | Float (307.0)

行列式 (determinant) の値を返します。

行列式 (determinant) の値を返します。

@raise ExceptionForMatrix::ErrDimensionMismatch 正方行列でない場合に発生します

Matrix#determinant_e -> Rational | Float (307.0)

不正な値を返します。 Matrix#determinant を代わりに使ってください。

不正な値を返します。
Matrix#determinant を代わりに使ってください。

Matrix#tr -> Integer | Float | Rational (307.0)

トレース (trace) を返します。

トレース (trace) を返します。

行列のトレース (trace) とは、対角要素の和です。

//emlist[例][ruby]{
require 'matrix'
Matrix[[7,6], [3,9]].trace # => 16
//}

trace は正方行列でのみ定義されます。

@raise ExceptionForMatrix::ErrDimensionMismatch 行列が正方行列でない場合に発生します

Matrix#trace -> Integer | Float | Rational (307.0)

トレース (trace) を返します。

トレース (trace) を返します。

行列のトレース (trace) とは、対角要素の和です。

//emlist[例][ruby]{
require 'matrix'
Matrix[[7,6], [3,9]].trace # => 16
//}

trace は正方行列でのみ定義されます。

@raise ExceptionForMatrix::ErrDimensionMismatch 行列が正方行列でない場合に発生します

絞り込み条件を変える

Date#-(x) -> Rational | Date (304.0)

x が日付オブジェクトなら、ふたつの差を返します。 あるいは x が数値ならば、self より x 日前の日付を返します。

x が日付オブジェクトなら、ふたつの差を返します。
あるいは
x が数値ならば、self より x 日前の日付を返します。

@param x 日数、あるいは日付オブジェクト
@raise TypeError x が数値でも日付オブジェクトでもない場合に発生します。

Date#ajd -> Rational (304.0)

このメソッドは Date#jd と似ていますが、天文学的なユリウス日を返します。 時刻を含みます。

このメソッドは Date#jd と似ていますが、天文学的なユリウス日を返します。
時刻を含みます。

Date#amjd -> Rational (304.0)

このメソッドは Date#mjd と似ていますが、天文学的な修正ユリウス日を返します。 時刻を含みます。

このメソッドは Date#mjd と似ていますが、天文学的な修正ユリウス日を返します。
時刻を含みます。

DateTime#offset -> Rational (304.0)

時差を返します。

時差を返します。

NilClass#to_r -> Rational (304.0)

0/1 を返します。

0/1 を返します。

例:

nil.to_r # => (0/1)

絞り込み条件を変える

Time#to_r -> Rational (304.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)
//}

mathn (229.0)

Rational と Complex をよりシームレスに利用できるようにするライブラリです。数値ライブラリの挙動をグローバルに変更します。

Rational と Complex をよりシームレスに利用できるようにするライブラリです。数値ライブラリの挙動をグローバルに変更します。

なお、このライブラリはRuby 2.2から非推奨(deprecated)になり、Ruby 2.5で削除されました。
引き続き利用するには mathn gem をインストールしてください。

* 整数の除算が割り切れない場合、 Rational オブジェクトを返すようになります。
* 複素数や有理数の演算結果が実数や整数に収まる場合、 Float オブジェクトや Integer オブジェクトを返します。
* Math モジュールの数学関数の定義域と終...

Numeric (163.0)

数値を表す抽象クラスです。Integer や Float などの数値クラス は Numeric のサブクラスとして実装されています。

数値を表す抽象クラスです。Integer や Float などの数値クラス
は Numeric のサブクラスとして実装されています。

演算や比較を行うメソッド(+, -, *, /, <=>)は Numeric のサブクラスで定義されま
す。Numeric で定義されているメソッドは、サブクラスで提供されているメソッド
(+, -, *, /, %) を利用して定義されるものがほとんどです。
つまり Numeric で定義されているメソッドは、Numeric のサブクラスとして新たに数値クラスを定義した時に、
演算メソッド(+, -, *, /, %, <=>, coerce)だけを定義すれ...

Vector#elements_to_r -> Vector (121.0)

ベクトルの各成分をRationalに変換したベクトルを返します。

ベクトルの各成分をRationalに変換したベクトルを返します。

このメソッドは deprecated です。 map(&:to_r) を使ってください。

//emlist[例][ruby]{
require 'matrix'

v = Vector.elements([2.5, 3.0, 5.75, 7])
vr = v.elements_to_r
p vr # => "Vector[Rational(5, 2), Rational(3, 1), Rational(23, 4), Rational(7, 1)]"
//}

Numeric#coerce(other) -> [Numeric] (109.0)

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

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

デフォルトでは self と other を Float に変換して [other, self] という配列にして返します。
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
以下は Rational の coerce のソースです。other が自身の知らない数値クラスであった場合、
super を呼んでいることに注意して下さい。

# lib/rational.rb より

def coerce(other)
...

絞り込み条件を変える

Ruby用語集 (91.0)

Ruby用語集 A B C D E F G I J M N O R S Y

Ruby用語集
A B C D E F G I J M N O R S Y

a ka sa ta na ha ma ya ra wa

=== 記号・数字
: %記法
: % notation
「%」記号で始まる多種多様なリテラル記法の総称。

参照:d:spec/literal#percent

: 0 オリジン
: zero-based
番号が 0 から始まること。

例えば、
Array や Vector、Matrix などの要素の番号、
String における文字の位置、
といったものは 0 オリジンである。

: 1 オリジン
: one-based
...

Numeric#denominator -> Integer (67.0)

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

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

@return 分母を返します。


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

Numeric#numerator -> Integer (67.0)

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

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

@return 分子を返します。


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

bigdecimal/util (67.0)

String、Integer、Float、Rational オブジェクトを BigDecimal オブジェクトに変換する機能を提供します。

String、Integer、Float、Rational オブジェクトを
BigDecimal オブジェクトに変換する機能を提供します。

* String#to_d
* Integer#to_d
* Float#to_d
* Rational#to_d


これらのメソッドを使うには 'bigdecimal' と 'bigdecimal/util'を require
する必要があります。

Random#rand -> Float (55.0)

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

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

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

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

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

絞り込み条件を変える

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

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

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

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

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

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

Random#rand(range) -> Integer | Float | nil (55.0)

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

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

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

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

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

Float#denominator -> Integer (49.0)

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

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

@return 分母を返します。

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

@see Float#numerator

Float#numerator -> Integer (49.0)

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

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

@return 分子を返します。

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

@see Float#denominator

Matrix#elements_to_r -> Matrix (49.0)

各要素を有理数 Rational に変換した行列を返します。

各要素を有理数 Rational に変換した行列を返します。

このメソッドは deprecated です。 map(&:to_r) を使ってください。

絞り込み条件を変える

BigMath.#exp(x, prec) -> BigDecimal (37.0)

x の指数関数を prec で指定した精度で計算します。

x の指数関数を prec で指定した精度で計算します。

x に正の無限大を指定した場合は正の無限大を返します。負の無限大を指定し
た場合には 0 を返します。NaN を指定した場合には NaNを返します。

@param x 計算対象の数値を Fixnum、Bignum、BigDecimal、
Float、Rationalオブジェクトのいずれかで指定します。

@param prec 計算結果の精度を指定します。

@raise ArgumentError x に Fixnum、Bignum、BigDecimal、
Float、...

Kernel.#BigDecimal(s) -> BigDecimal (37.0)

引数で指定した値を表す BigDecimal オブジェクトを生成します。

引数で指定した値を表す BigDecimal オブジェクトを生成します。

@param s 数値を表現する初期値を文字列、Integer、
Float、Rational、BigDecimal オブジェクトのい
ずれかで指定します。
文字列中のスペースは無視されます。また、判断できない文字が出現
した時点で文字列は終了したものとみなされます。

@param n 必要な有効桁数(self の最大有効桁数)を整数で指定します。 n が
0 または省略されたときは、n の値は s の有効桁数とみなされます。...

Kernel.#BigDecimal(s, n) -> BigDecimal (37.0)

引数で指定した値を表す BigDecimal オブジェクトを生成します。

引数で指定した値を表す BigDecimal オブジェクトを生成します。

@param s 数値を表現する初期値を文字列、Integer、
Float、Rational、BigDecimal オブジェクトのい
ずれかで指定します。
文字列中のスペースは無視されます。また、判断できない文字が出現
した時点で文字列は終了したものとみなされます。

@param n 必要な有効桁数(self の最大有効桁数)を整数で指定します。 n が
0 または省略されたときは、n の値は s の有効桁数とみなされます。...

Time.at(time, usec) -> Time (37.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...

BigDecimal#coerce(other) -> Array (19.0)

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

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

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

BigDecimal#coerce は Ruby における強制型変換のための機能です。
BigDecimal オブジェクトとその他のオブジェクト間の各種の計算は
BigDecimal#coerce の結果を元に行われます。

例:

require "bigdecimal"
a = BigDecimal("1.0")
b = a / 2.0 # => 0.5

other に R...

絞り込み条件を変える

BigMath.#log(x, prec) -> BigDecimal (19.0)

x の自然対数を prec で指定した精度で計算します。

x の自然対数を prec で指定した精度で計算します。

x に無限大を指定した場合は無限大を返します。NaN を指定した場合には NaN
を返します。

@param x 計算対象の数値を Fixnum、Bignum、Float、
Rational、BigDecimal オブジェクトのいずれかで指定
します。

@param prec 計算結果の精度を指定します。

@raise Math::DomainError x に 0 以下の数値か Complex オブジェクト
が指定された場合に発生します。
...

Complex#*(other) -> Complex (19.0)

積を計算します。

積を計算します。

@param other 自身に掛ける数

//emlist[例][ruby]{
Complex(1, 2) * 2 # => (2+4i)
Complex(1, 2) * Complex(2, 3) # => (-4+7i)
Complex(1, 2) * Rational(1, 2) # => ((1/2)+(1/1)*i)
//}

Date#<=>(other) -> -1 | 0 | 1 | nil (19.0)

二つの日付を比較します。 同じ日付なら 0 を、self が other よりあとの日付なら 1 を、 その逆なら -1 を返します。

二つの日付を比較します。
同じ日付なら 0 を、self が other よりあとの日付なら 1 を、
その逆なら -1 を返します。

other は日付オブジェクトか、
天文学的なユリウス日をあらわす数値を指定します。
そうでない場合、比較ができないので nil を返します。

//emlist[][ruby]{
require "date"

p Date.new(2001, 2, 3) <=> Date.new(2001, 2, 4) # => -1
p Date.new(2001, 2, 3) <=> Date.new(2001, 2, 3) # => 0
p Date.new(20...

Math.#rsqrt(a) -> Numeric (19.0)

@todo

@todo

複素数を考慮しないので、負の数や Complex をあたえないでください。

a が Float の時は、Float を返します。
それ以外の時、平方根が有理数であれば、Rational または Integer を返します。
無理数であれば、Float を返します。

Matrix#coerce(other) -> Array (19.0)

他の数値オブジェクトとの変換を行います。

他の数値オブジェクトとの変換を行います。

他の数値オブジェクトをMatrix::Scalarのオブジェクトに変換し、selfとの組を配列として返します。

@param other 変換する数値オブジェクト

//emlist[例][ruby]{
require 'matrix'
a1 = [1, 2]
a2 = [-1.25, 2.2]
m = Matrix[a1, a2]
r = Rational(1, 2)
p m.coerce(r) #=> [#<Matrix::Scalar:0x832df18 @value=(1/2)>, Matrix[[1, 2], [-1.25, 2.2]]]...

絞り込み条件を変える

Matrix#rank -> Integer (19.0)

階数 (rank) を返します。

階数 (rank) を返します。

selfの行列の階数(rank)を返します。
行列の成分がFloatの場合は正しい値を返さない場合があります。
その場合は行列成分に Rational
もしくは BigDecimal
を使用してください。

NEWS for Ruby 2.1.0 (19.0)

NEWS for Ruby 2.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...NEWS for Ruby 2.1.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリス...

Numeric#-@ -> Numeric (19.0)

単項演算子の - です。 self の符号を反転させたものを返します。

単項演算子の - です。
self の符号を反転させたものを返します。

このメソッドは、二項演算子 - で 0 - self によって定義されています。


@see Integer#-@、Float#-@、Rational#-@、Complex#-@

Numeric#i -> Complex (19.0)

Complex(0, self) を返します。

Complex(0, self) を返します。

ただし、Complex オブジェクトでは利用できません。

例:

10.i # => (0+10i)
-10.i # => (0-10i)
(0.1).i # => (0+0.1i)
Rational(1, 2).i # => (0+(1/2)*i)

Numeric#nonzero? -> self | nil (19.0)

自身がゼロの時 nil を返し、非ゼロの時 self を返します。

自身がゼロの時 nil を返し、非ゼロの時 self を返します。

p 10.nonzero? #=> 10
p 0.nonzero? #=> nil
p 0.0.nonzero? #=> nil
p Rational(0, 2).nonzero? #=> nil

非ゼロの時に self を返すため、自身が 0 の時に他の処理をさせたい場合に以
下のように記述する事もできます。

a = %w( z Bb bB bb BB a aA Aa AA A )
b = a.sort {|a,b...

絞り込み条件を変える

Numeric#real -> Numeric (19.0)

自身を返します。

自身を返します。

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

例:

10.real # => 10
-10.real # => -10
0.1.real # => 0.1
Rational(2, 3).real # => (2/3)

@see Numeric#imag、Complex#real

Numeric#real? -> bool (19.0)

常に true を返します。(Complex またはそのサブクラスではないことを意味します。)

常に true を返します。(Complex またはそのサブクラスではないことを意味します。)

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

例:

10.real? # => true
-10.real? # => true
0.1.real? # => true
Rational(2, 3).real? # => true

@see Numeric#integer?、Complex#real?

Numeric#to_c -> Complex (19.0)

自身を複素数 (Complex) に変換します。Complex(self, 0) を返します。

自身を複素数 (Complex) に変換します。Complex(self, 0) を返します。

例:

1.to_c # => (1+0i)
-1.to_c # => (-1+0i)
1.0.to_c # => (1.0+0i)
Rational(1, 2).to_c # => ((1/2)+0i)

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

Numeric#to_int -> Integer (19.0)

self.to_i と同じです。

self.to_i と同じです。

例:

(2+0i).to_int # => 2
Rational(3).to_int # => 3

StringIO#putc(ch) -> object (19.0)

文字 ch を自身に書き込みます。 ch が数字なら 0 〜 255 の範囲の対応する文字書き込みます。 ch が文字列なら、その先頭の文字を書き込みます。ch を返します。

文字 ch を自身に書き込みます。 ch が数字なら 0 〜 255 の範囲の対応する文字書き込みます。
ch が文字列なら、その先頭の文字を書き込みます。ch を返します。

@param ch 書き込みたい文字を、整数か文字列で指定します。ch が Float や Rational であっても、整数に変換されてから書き込まれます。

@raise IOError 自身が書き込み用にオープンされていなければ発生します。

絞り込み条件を変える

matrix (19.0)

行列と数ベクトルを扱うためのライブラリです。

行列と数ベクトルを扱うためのライブラリです。

行列、ベクトルの各要素には Ruby の任意の数オブジェクト(Numeric の
サブクラス、Float, Integer, Complex, Rational など)
が使えます。

Time.at(time) -> Time (7.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...