種類
- インスタンスメソッド (46)
- クラス (2)
キーワード
- % (1)
- ** (1)
-
/ (1) - Complex (1)
- [] (1)
- abs (1)
- abs2 (1)
- angle (2)
- arg (2)
- clone (1)
- div (1)
- dup (1)
- eql? (1)
- fdiv (1)
- i (1)
- imag (1)
- imaginary (1)
- magnitude (1)
- modulo (1)
- nonzero? (1)
- phase (2)
- polar (2)
- positive? (1)
- pow (2)
- quo (2)
- real (1)
- real? (1)
- rect (1)
- rectangular (1)
- remainder (1)
- round (1)
- step (6)
-
to
_ c (1) - upto (2)
- zero? (1)
検索結果
先頭5件
-
Numeric (114433.0)
-
数値を表す抽象クラスです。Integer や Float などの数値クラス は Numeric のサブクラスとして実装されています。
数値を表す抽象クラスです。Integer や Float などの数値クラス
は Numeric のサブクラスとして実装されています。
演算や比較を行うメソッド(+, -, *, /, <=>)は Numeric のサブクラスで定義されま
す。Numeric で定義されているメソッドは、サブクラスで提供されているメソッド
(+, -, *, /, %) を利用して定義されるものがほとんどです。
つまり Numeric で定義されているメソッドは、Numeric のサブクラスとして新たに数値クラスを定義した時に、
演算メソッド(+, -, *, /, %, <=>, coerce)だけを定義すれ... -
Numeric
# polar -> [Numeric , Numeric] (81931.0) -
自身の絶対値と偏角を配列にして返します。正の数なら [self, 0]、負の数な ら [-self, Math::PI] を返します。
自身の絶対値と偏角を配列にして返します。正の数なら [self, 0]、負の数な
ら [-self, Math::PI] を返します。
//emlist[例][ruby]{
1.0.polar # => [1.0, 0]
2.0.polar # => [2.0, 0]
-1.0.polar # => [1.0, 3.141592653589793]
-2.0.polar # => [2.0, 3.141592653589793]
//}
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
@see Complex#polar -
Numeric
# step(by: 1 , to: Float :: INFINITY) -> Enumerator (81397.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
self からはじめ step を足しながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された場合は、
下限として解釈されます。
@param step 各ステップの大きさを数値で指定します。負の数を指定することもできます。
@param to 引数limitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INF... -
Numeric
# step(by: 1 , to: Float :: INFINITY) {|n| . . . } -> self (81397.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
self からはじめ step を足しながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された場合は、
下限として解釈されます。
@param step 各ステップの大きさを数値で指定します。負の数を指定することもできます。
@param to 引数limitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INF... -
Numeric
# step(by: , to: -Float :: INFINITY) -> Enumerator (81397.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
self からはじめ step を足しながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された場合は、
下限として解釈されます。
@param step 各ステップの大きさを数値で指定します。負の数を指定することもできます。
@param to 引数limitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INF... -
Numeric
# step(by: , to: -Float :: INFINITY) {|n| . . . } -> self (81397.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
self からはじめ step を足しながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された場合は、
下限として解釈されます。
@param step 各ステップの大きさを数値で指定します。負の数を指定することもできます。
@param to 引数limitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INF... -
Numeric
# step(limit , step = 1) -> Enumerator (81397.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
self からはじめ step を足しながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された場合は、
下限として解釈されます。
@param step 各ステップの大きさを数値で指定します。負の数を指定することもできます。
@param to 引数limitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INF... -
Numeric
# step(limit , step = 1) {|n| . . . } -> self (81397.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
self からはじめ step を足しながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された場合は、
下限として解釈されます。
@param step 各ステップの大きさを数値で指定します。負の数を指定することもできます。
@param to 引数limitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INF... -
Numeric
# positive? -> bool (81325.0) -
self が 0 より大きい場合に true を返します。そうでない場合に false を返します。
self が 0 より大きい場合に true を返します。そうでない場合に false を返します。
//emlist[例][ruby]{
1.positive? # => true
0.positive? # => false
-1.positive? # => false
//}
@see Numeric#negative? -
Numeric
# phase -> 0 | Math :: PI (72325.0) -
自身の偏角(正の数なら 0、負の数なら Math::PI)を返します。
自身の偏角(正の数なら 0、負の数なら Math::PI)を返します。
//emlist[例][ruby]{
1.arg # => 0
-1.arg # => 3.141592653589793
//}
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
@see Complex#arg -
Numeric
# %(other) -> Numeric (63475.0) -
self を other で割った余り r を返します。
self を other で割った余り r を返します。
ここで、商 q と余り r は、
* self == other * q + r
と
* other > 0 のとき 0 <= r < other
* other < 0 のとき other < r <= 0
* q は整数
をみたす数です。
余り r は、other と同じ符号になります。
商 q は、Numeric#div (あるいは 「/」)で求められます。
modulo はメソッド % の呼び出しとして定義されています。
@param other 自身を割る数を指定します。
//emlist[... -
Numeric
# modulo(other) -> Numeric (63475.0) -
self を other で割った余り r を返します。
self を other で割った余り r を返します。
ここで、商 q と余り r は、
* self == other * q + r
と
* other > 0 のとき 0 <= r < other
* other < 0 のとき other < r <= 0
* q は整数
をみたす数です。
余り r は、other と同じ符号になります。
商 q は、Numeric#div (あるいは 「/」)で求められます。
modulo はメソッド % の呼び出しとして定義されています。
@param other 自身を割る数を指定します。
//emlist[... -
Numeric
# remainder(other) -> Numeric (63454.0) -
self を other で割った余り r を返します。
self を other で割った余り r を返します。
ここで、商 q と余り r は、
* self == other * q + r
と
* self > 0 のとき 0 <= r < |other|
* self < 0 のとき -|other| < r <= 0
* q は整数
をみたす数です。r の符号は self と同じになります。
商 q を直接返すメソッドはありません。self.quo(other).truncate がそれに相当します。
@param other 自身を割る数を指定します。
//emlist[例][ruby]{
p 13.... -
Numeric
# quo(other) -> Rational | Float | Complex (63409.0) -
self を other で割った商を返します。 整商を得たい場合は Numeric#div を使ってください。
self を other で割った商を返します。
整商を得たい場合は Numeric#div を使ってください。
Numeric#fdiv が結果を Float で返すメソッドなのに対して quo はなるべく正確な数値を返すことを意図しています。
具体的には有理数の範囲に収まる計算では Rational の値を返します。
Float や Complex が関わるときはそれらのクラスになります。
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
@param other 自身を割る数を指定します。
//emlist[例][ruby]{
1.quo(3)... -
Numeric
# fdiv(other) -> Float | Complex (63343.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 Num... -
Numeric
# angle -> 0 | Math :: PI (63325.0) -
自身の偏角(正の数なら 0、負の数なら Math::PI)を返します。
自身の偏角(正の数なら 0、負の数なら Math::PI)を返します。
//emlist[例][ruby]{
1.arg # => 0
-1.arg # => 3.141592653589793
//}
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
@see Complex#arg -
Numeric
# arg -> 0 | Math :: PI (63325.0) -
自身の偏角(正の数なら 0、負の数なら Math::PI)を返します。
自身の偏角(正の数なら 0、負の数なら Math::PI)を返します。
//emlist[例][ruby]{
1.arg # => 0
-1.arg # => 3.141592653589793
//}
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
@see Complex#arg -
Numeric
# to _ c -> Complex (63325.0) -
自身を複素数 (Complex) に変換します。Complex(self, 0) を返します。
自身を複素数 (Complex) に変換します。Complex(self, 0) を返します。
//emlist[例][ruby]{
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
# i -> Complex (63307.0) -
Complex(0, self) を返します。
Complex(0, self) を返します。
ただし、Complex オブジェクトでは利用できません。
//emlist[例][ruby]{
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 (63097.0) -
自身がゼロの時 nil を返し、非ゼロの時 self を返します。
自身がゼロの時 nil を返し、非ゼロの時 self を返します。
//emlist[例][ruby]{
p 10.nonzero? #=> 10
p 0.nonzero? #=> nil
p 0.0.nonzero? #=> nil
p Rational(0, 2).nonzero? #=> nil
//}
非ゼロの時に self を返すため、自身が 0 の時に他の処理をさせたい場合に以
下のように記述する事もできます。
//emlist[例][ruby]{
a = %w( z Bb bB bb BB a... -
Numeric
# div(other) -> Integer (63079.0) -
self を other で割った整数の商 q を返します。
self を other で割った整数の商 q を返します。
ここで、商 q と余り r は、それぞれ
* self == other * q + r
と
* other > 0 のとき: 0 <= r < other
* other < 0 のとき: other < r <= 0
* q は整数
をみたす数です。
商に対応する余りは Numeric#modulo で求められます。
div はメソッド / を呼びだし、floorを取ることで計算されます。
メソッド / の定義はサブクラスごとの定義を用います。
@param other 自身を割る数を... -
Numeric
# eql?(other) -> bool (63079.0) -
自身と other のクラスが等しくかつ == メソッドで比較して等しい場合に true を返します。 そうでない場合に false を返します。
自身と other のクラスが等しくかつ == メソッドで比較して等しい場合に true を返します。
そうでない場合に false を返します。
Numeric のサブクラスは、eql? で比較して等しい数値同士が同じハッシュ値を返すように
hash メソッドを適切に定義する必要があります。
@param other 自身と比較したい数値を指定します。
//emlist[例][ruby]{
p 1.eql?(1) #=> true
p 1.eql?(1.0) #=> false
p 1 == 1.0 #=> true
//}
@see Object#equal?, ... -
Numeric
# zero? -> bool (63079.0) -
自身がゼロの時、trueを返します。そうでない場合は false を返します。
自身がゼロの時、trueを返します。そうでない場合は false を返します。
//emlist[例][ruby]{
p 10.zero? #=> false
p 0.zero? #=> true
p 0.0.zero? #=> true
//}
@see Numeric#nonzero? -
Complex
# polar -> [Numeric , Numeric] (18931.0) -
自身の絶対値と偏角を配列にして返します。
自身の絶対値と偏角を配列にして返します。
//emlist[例][ruby]{
Complex.polar(1, 2).polar # => [1, 2]
//}
@see Numeric#polar -
Complex
# phase -> Float (18325.0) -
自身の偏角を[-π,π]の範囲で返します。
自身の偏角を[-π,π]の範囲で返します。
//emlist[例][ruby]{
Complex.polar(3, Math::PI/2).arg # => 1.5707963267948966
//}
非正の実軸付近での挙動に注意してください。以下の例のように虚部が 0.0 と
-0.0 では値が変わります。
//emlist[例][ruby]{
Complex(-1, 0).arg #=> 3.141592653589793
Complex(-1, -0).arg #=> 3.141592653589793
Complex(-1... -
Integer
# upto(max) -> Enumerator (18325.0) -
self から max まで 1 ずつ増やしながら繰り返します。 self > max であれば何もしません。
self から max まで 1 ずつ増やしながら繰り返します。
self > max であれば何もしません。
@param max 数値
@return self を返します。
//emlist[][ruby]{
5.upto(10) {|i| print i, " " } # => 5 6 7 8 9 10
//}
@see Integer#downto, Numeric#step, Integer#times -
Integer
# upto(max) {|n| . . . } -> Integer (18325.0) -
self から max まで 1 ずつ増やしながら繰り返します。 self > max であれば何もしません。
self から max まで 1 ずつ増やしながら繰り返します。
self > max であれば何もしません。
@param max 数値
@return self を返します。
//emlist[][ruby]{
5.upto(10) {|i| print i, " " } # => 5 6 7 8 9 10
//}
@see Integer#downto, Numeric#step, Integer#times -
Complex (18025.0)
-
複素数を扱うクラスです。
複素数を扱うクラスです。
Complex オブジェクトを作成するには、Kernel.#Complex、
Complex.rect、Complex.polar、Numeric#to_c、
String#to_c のいずれかを使用します。
//emlist[Complex オブジェクトの作り方][ruby]{
Complex(1) # => (1+0i)
Complex(2, 3) # => (2+3i)
Complex.polar(2, 3) # => (-1.9799849932008908+0.2822400161197344i)
Complex(0.... -
Object
# dup -> object (9667.0) -
オブジェクトの複製を作成して返します。
オブジェクトの複製を作成して返します。
dup はオブジェクトの内容, taint 情報をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。
clone や dup は浅い(shallow)コピーであることに注意してください。後述。
TrueClass, FalseClass, NilClass, Symbol, そして Numeric クラスのインスタンスなど一部のオブジェクトは複製ではなくインスタンス自身を返します。
@param freeze false を指定すると freeze されていないコピーを返します。
@r... -
Complex
# rect -> [Numeric , Numeric] (9637.0) -
実部と虚部を配列にして返します。
実部と虚部を配列にして返します。
//emlist[例][ruby]{
Complex(3).rect # => [3, 0]
Complex(3.5).rect # => [3.5, 0]
Complex(3, 2).rect # => [3, 2]
//}
@see Numeric#rect -
Complex
# rectangular -> [Numeric , Numeric] (9637.0) -
実部と虚部を配列にして返します。
実部と虚部を配列にして返します。
//emlist[例][ruby]{
Complex(3).rect # => [3, 0]
Complex(3.5).rect # => [3.5, 0]
Complex(3, 2).rect # => [3, 2]
//}
@see Numeric#rect -
Integer
# pow(other) -> Numeric (9631.0) -
算術演算子。冪(べき乗)を計算します。
算術演算子。冪(べき乗)を計算します。
@param other 二項演算の右側の引数(対象)
@param modulo 指定すると、計算途中に巨大な値を生成せずに (self**other) % modulo と同じ結果を返します。
@return 計算結果
@raise TypeError 2引数 pow で Integer 以外を指定した場合に発生します。
@raise RangeError 2引数 pow で other に負の数を指定した場合に発生します。
//emlist[][ruby]{
2 ** 3 # => 8
2 ** 0 # => 1
0 ** 0 # => 1
... -
Complex
# imag -> Numeric (9331.0) -
自身の虚部を返します。
自身の虚部を返します。
//emlist[例][ruby]{
Complex(3, 2).imag # => 2
//}
@see Numeric#imag -
Complex
# imaginary -> Numeric (9331.0) -
自身の虚部を返します。
自身の虚部を返します。
//emlist[例][ruby]{
Complex(3, 2).imag # => 2
//}
@see Numeric#imag -
Integer
# pow(other , modulo) -> Integer (9331.0) -
算術演算子。冪(べき乗)を計算します。
算術演算子。冪(べき乗)を計算します。
@param other 二項演算の右側の引数(対象)
@param modulo 指定すると、計算途中に巨大な値を生成せずに (self**other) % modulo と同じ結果を返します。
@return 計算結果
@raise TypeError 2引数 pow で Integer 以外を指定した場合に発生します。
@raise RangeError 2引数 pow で other に負の数を指定した場合に発生します。
//emlist[][ruby]{
2 ** 3 # => 8
2 ** 0 # => 1
0 ** 0 # => 1
... -
Complex
# / (other) -> Complex (9325.0) -
商を計算します。
商を計算します。
@param other 自身を割る数
//emlist[例][ruby]{
Complex(10.0) / 3 # => (3.3333333333333335+(0/1)*i)
Complex(10) / 3 # => ((10/3)+(0/1)*i)
//}
@see Numeric#quo -
Complex
# quo(other) -> Complex (9325.0) -
商を計算します。
商を計算します。
@param other 自身を割る数
//emlist[例][ruby]{
Complex(10.0) / 3 # => (3.3333333333333335+(0/1)*i)
Complex(10) / 3 # => ((10/3)+(0/1)*i)
//}
@see Numeric#quo -
Complex
# abs -> Numeric (9313.0) -
自身の絶対値を返します。
自身の絶対値を返します。
以下の計算の結果を Float オブジェクトで返します。
sqrt(self.real ** 2 + self.imag ** 2)
//emlist[例][ruby]{
Complex(1, 2).abs # => 2.23606797749979
Complex(3, 4).abs # => 5.0
Complex('1/2', '1/2').abs # => 0.7071067811865476
//}
@see Complex#abs2 -
Complex
# magnitude -> Numeric (9313.0) -
自身の絶対値を返します。
自身の絶対値を返します。
以下の計算の結果を Float オブジェクトで返します。
sqrt(self.real ** 2 + self.imag ** 2)
//emlist[例][ruby]{
Complex(1, 2).abs # => 2.23606797749979
Complex(3, 4).abs # => 5.0
Complex('1/2', '1/2').abs # => 0.7071067811865476
//}
@see Complex#abs2 -
Complex
# abs2 -> Numeric (9310.0) -
自身の絶対値の 2 乗を返します。
自身の絶対値の 2 乗を返します。
以下の計算の結果を返します。
self.real ** 2 + self.imag ** 2
//emlist[例][ruby]{
Complex(1, 1).abs2 # => 2
Complex(1.0, 1.0).abs2 # => 2.0
Complex('1/2', '1/2').abs2 # => (1/2)
//}
@see Complex#abs -
Complex
# real -> Numeric (9310.0) -
自身の実部を返します。
自身の実部を返します。
//emlist[例][ruby]{
Complex(3, 2).real # => 3
//} -
Complex
# angle -> Float (9025.0) -
自身の偏角を[-π,π]の範囲で返します。
自身の偏角を[-π,π]の範囲で返します。
//emlist[例][ruby]{
Complex.polar(3, Math::PI/2).arg # => 1.5707963267948966
//}
非正の実軸付近での挙動に注意してください。以下の例のように虚部が 0.0 と
-0.0 では値が変わります。
//emlist[例][ruby]{
Complex(-1, 0).arg #=> 3.141592653589793
Complex(-1, -0).arg #=> 3.141592653589793
Complex(-1... -
Complex
# arg -> Float (9025.0) -
自身の偏角を[-π,π]の範囲で返します。
自身の偏角を[-π,π]の範囲で返します。
//emlist[例][ruby]{
Complex.polar(3, Math::PI/2).arg # => 1.5707963267948966
//}
非正の実軸付近での挙動に注意してください。以下の例のように虚部が 0.0 と
-0.0 では値が変わります。
//emlist[例][ruby]{
Complex(-1, 0).arg #=> 3.141592653589793
Complex(-1, -0).arg #=> 3.141592653589793
Complex(-1... -
Complex
# real? -> false (9025.0) -
常に false を返します。
常に false を返します。
//emlist[例][ruby]{
(2+3i).real? # => false
(2+0i).real? # => false
//}
@see Numeric#real? -
Object
# clone(freeze: true) -> object (367.0) -
オブジェクトの複製を作成して返します。
オブジェクトの複製を作成して返します。
dup はオブジェクトの内容, taint 情報をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。
clone や dup は浅い(shallow)コピーであることに注意してください。後述。
TrueClass, FalseClass, NilClass, Symbol, そして Numeric クラスのインスタンスなど一部のオブジェクトは複製ではなくインスタンス自身を返します。
@param freeze false を指定すると freeze されていないコピーを返します。
@r... -
Integer
# **(other) -> Numeric (331.0) -
算術演算子。冪(べき乗)を計算します。
算術演算子。冪(べき乗)を計算します。
@param other 二項演算の右側の引数(対象)
@param modulo 指定すると、計算途中に巨大な値を生成せずに (self**other) % modulo と同じ結果を返します。
@return 計算結果
@raise TypeError 2引数 pow で Integer 以外を指定した場合に発生します。
@raise RangeError 2引数 pow で other に負の数を指定した場合に発生します。
//emlist[][ruby]{
2 ** 3 # => 8
2 ** 0 # => 1
0 ** 0 # => 1
... -
Integer
# round(ndigits = 0 , half: :up) -> Integer | Float (325.0) -
self ともっとも近い整数を返します。
self ともっとも近い整数を返します。
@param ndigits 10進数での小数点以下の有効桁数を整数で指定します。
正の整数を指定した場合、Float を返します。
小数点以下を、最大 n 桁にします。
負の整数を指定した場合、Integer を返します。
小数点位置から左に少なくとも n 個の 0 が並びます。
@param half ちょうど半分の値の丸め方を指定します。
サポートされている値は以下の通りです。
* :up or nil: ... -
Integer
# [](nth) -> Integer (43.0) -
nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1 を、そうでなければ 0 を返します。
nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1
を、そうでなければ 0 を返します。
@param nth 何ビット目を指すかの数値
@return 1 か 0
//emlist[][ruby]{
a = 0b11001100101010
30.downto(0) {|n| print a[n] }
# => 0000000000000000011001100101010
a = 9**15
50.downto(0) {|n| print a[n] }
# => 00010111011010000011100001111001010011110...