種類
- インスタンスメソッド (378)
- 特異メソッド (47)
- クラス (11)
クラス
検索結果
先頭5件
-
Numeric (38220.0)
-
数値を表す抽象クラスです。Integer や Float などの数値クラス は Numeric のサブクラスとして実装されています。
...表す抽象クラスです。Integer や Float などの数値クラス
は Numeric のサブクラスとして実装されています。
演算や比較を行うメソッド(+, -, *, /, <=>)は Numeric のサブクラスで定義されま
す。Numeric で定義されているメソッドは、......提供されているメソッド
(+, -, *, /, %) を利用して定義されるものがほとんどです。
つまり Numeric で定義されているメソッドは、Numeric のサブクラスとして新たに数値クラスを定義した時に、
演算メソッド(+, -, *, /, %, <=>, coerce......を表しメソッド定義などではこの記法を利用します。
効率のため Numeric のメソッドと同じメソッドがサブクラスで再定義されている場合があります。
Numeric#coerce メソッドを使うことによって異なる数値クラス間で演算を... -
Numeric
# quo(other) -> Rational | Float | Complex (21149.0) -
self を other で割った商を返します。 整商を得たい場合は Numeric#div を使ってください。
...合は Numeric#div を使ってください。
Numeric#fdiv が結果を Float で返すメソッドなのに対して quo はなるべく正確な数値を返すことを意図しています。
具体的には有理数の範囲に収まる計算では Rational の値を返します。
Float や C......omplex が関わるときはそれらのクラスになります。
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
@param other 自身を割る数を指定します。
//emlist[例][ruby]{
1.quo(3) #=> (1/3)
1.0.quo(3) #=> 0.33333......33333333333
1.quo(3.0) #=> 0.3333333333333333
1.quo(0.5) #=> 2.0
Complex(1, 1).quo(1) #=> ((1/1)+(1/1)*i)
1.quo(Complex(1, 1)) #=> ((1/2)-(1/2)*i)
//}
@see Numeric#fdiv... -
Numeric
# fdiv(other) -> Float | Complex (21147.0) -
self を other で割った商を Float で返します。 ただし Complex が関わる場合は例外です。 その場合も成分は Float になります。
...self を other で割った商を Float で返します。
ただし Complex が関わる場合は例外です。
その場合も成分は Float になります。
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
@param other 自身を割る......数を指定します。
//emlist[例][ruby]{
1.fdiv(3) #=> 0.3333333333333333
Complex(1, 1).fdiv 1 #=> (1.0+1.0i)
1.fdiv Complex(1, 1) #=> (0.5-0.5i)
//}
@see Numeric#quo... -
Numeric
# step(by: 1 , to: Float :: INFINITY) -> Enumerator (21142.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...ながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された......@param to 引数limitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指......。
@return ブロックが指定されなかった時は Enumerator を返します。
@return 特に limit (または to) と step の両方が Numeric または nil の時は
Enumerator::ArithmeticSequence を返します。
@raise ArgumentError step に 0 を指定した場合に発生... -
Numeric
# step(by: 1 , to: Float :: INFINITY) -> Enumerator :: ArithmeticSequence (21142.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...ながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された......@param to 引数limitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指......。
@return ブロックが指定されなかった時は Enumerator を返します。
@return 特に limit (または to) と step の両方が Numeric または nil の時は
Enumerator::ArithmeticSequence を返します。
@raise ArgumentError step に 0 を指定した場合に発生... -
Numeric
# step(by: 1 , to: Float :: INFINITY) {|n| . . . } -> self (21142.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...ながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された......@param to 引数limitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指......。
@return ブロックが指定されなかった時は Enumerator を返します。
@return 特に limit (または to) と step の両方が Numeric または nil の時は
Enumerator::ArithmeticSequence を返します。
@raise ArgumentError step に 0 を指定した場合に発生... -
Numeric
# step(by: , to: -Float :: INFINITY) -> Enumerator (21142.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...ながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された......@param to 引数limitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指......。
@return ブロックが指定されなかった時は Enumerator を返します。
@return 特に limit (または to) と step の両方が Numeric または nil の時は
Enumerator::ArithmeticSequence を返します。
@raise ArgumentError step に 0 を指定した場合に発生... -
Numeric
# step(by: , to: -Float :: INFINITY) -> Enumerator :: ArithmeticSequence (21142.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...ながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された......@param to 引数limitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指......。
@return ブロックが指定されなかった時は Enumerator を返します。
@return 特に limit (または to) と step の両方が Numeric または nil の時は
Enumerator::ArithmeticSequence を返します。
@raise ArgumentError step に 0 を指定した場合に発生... -
Numeric
# step(by: , to: -Float :: INFINITY) {|n| . . . } -> self (21142.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...ながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された......@param to 引数limitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指......。
@return ブロックが指定されなかった時は Enumerator を返します。
@return 特に limit (または to) と step の両方が Numeric または nil の時は
Enumerator::ArithmeticSequence を返します。
@raise ArgumentError step に 0 を指定した場合に発生... -
Numeric
# step(by: 1 , to: Float :: INFINITY) -> Enumerator (21134.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...ながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された......@param to 引数limitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指... -
Numeric
# step(by: 1 , to: Float :: INFINITY) {|n| . . . } -> self (21134.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...ながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された......@param to 引数limitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指... -
Numeric
# step(by: , to: -Float :: INFINITY) -> Enumerator (21134.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...ながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された......@param to 引数limitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指... -
Numeric
# step(by: , to: -Float :: INFINITY) {|n| . . . } -> self (21134.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...ながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された......@param to 引数limitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指... -
Numeric
# coerce(other) -> [Numeric] (21133.0) -
自身と other が同じクラスになるよう、自身か other を変換し [other, self] という配列にして返します。
...を変換し [other, self] という配列にして返します。
デフォルトでは self と other を Float に変換して [other, self] という配列にして返します。
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
以下は......super を呼んでいることに注意して下さい。
//emlist[例][ruby]{
# lib/rational.rb より
def coerce(other)
if other.kind_of?(Float)
return other, self.to_f
elsif other.kind_of?(Integer)
return Rational.new!(other, 1), self
else
super
end
end
//}
数値クラ......b/rational.rb より
def + (a)
if a.kind_of?(Rational)
# 長いので省略
elsif a.kind_of?(Integer)
# 長いので省略
elsif a.kind_of?(Float)
Float(self) + a
else
x, y = a.coerce(self)
x + y
end
end
//}
@param other オペランドを数値で指定します。...