別のキーワード
ライブラリ
- ビルトイン (563)
キーワード
- % (12)
- +@ (12)
- <=> (12)
- abs (12)
- abs2 (12)
- angle (12)
- arg (12)
- ceil (12)
- coerce (12)
- conj (12)
- conjugate (12)
- div (12)
- divmod (12)
- eql? (12)
- fdiv (12)
- finite? (9)
- floor (12)
- i (12)
- imag (12)
- imaginary (12)
- infinite? (9)
- integer? (12)
- magnitude (12)
- modulo (12)
- negative? (10)
- nonzero? (12)
- phase (12)
- polar (12)
- positive? (10)
- quo (12)
- real (12)
- real? (12)
- rect (12)
- rectangular (12)
- remainder (12)
- round (12)
- step (93)
-
to
_ c (12) -
to
_ int (12) - truncate (12)
- zero? (12)
検索結果
先頭5件
-
Numeric
# <=>(other) -> -1 | 0 | 1 | nil (6108.0) -
自身が other より大きい場合に 1 を、等しい場合に 0 を、小さい場合には -1 をそれぞれ返します。 自身と other が比較できない場合には nil を返します。
...す。
Numeric のサブクラスは、上の動作を満たすよう このメソッドを適切に再定義しなければなりません。
@param other 自身と比較したい数値を指定します。
//emlist[例][ruby]{
1 <=> 0 #=> 1
1 <=> 1 #=> 0
1 <=> 2 #=> -1
1 <=> "0" #=> nil
/... -
Numeric
# %(other) -> Numeric (114.0) -
self を other で割った余り r を返します。
...り 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[例][ruby]{
p 13.modulo(4) #=> 1
p (11.5).modulo(3.5) #=> 1.0
p 13.modulo(-4) #=> -3
p (-13).modulo(4) #=> 3
p (-13).modulo(-4) #=> -1
p (-11).modulo(3.5) #=> 3.0
//}
@see Numeric#divmod, Numeric#remainder... -
Numeric
# coerce(other) -> [Numeric] (114.0) -
自身と other が同じクラスになるよう、自身か other を変換し [other, self] という配列にして返します。
...列にして返します。
デフォルトでは self と other を Float に変換して [other, self] という配列にして返します。
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
以下は Rational の coerce のソースです......らない数値クラスである場合、引数の coerce により自身を変換してから
+ 演算子を呼んでいます。
//emlist[例][ruby]{
# lib/rational.rb より
def + (a)
if a.kind_of?(Rational)
# 長いので省略
elsif a.kind_of?(Integer)
# 長いので省略
elsi... -
Numeric
# div(other) -> Integer (114.0) -
self を other で割った整数の商 q を返します。
...と余り r は、それぞれ
* self == other * q + r
と
* other > 0 のとき: 0 <= r < other
* other < 0 のとき: other < r <= 0
* q は整数
をみたす数です。
商に対応する余りは Numeric#modulo で求められます。
div はメソッド / を呼びだし、......floorを取ることで計算されます。
メソッド / の定義はサブクラスごとの定義を用います。
@param other 自身を割る数を指定します。
//emlist[例][ruby]{
p 3.div(2) # => 1
p (-3).div(2) # => -2
p (-3.0).div(2) # => -2
//}... -
Numeric
# divmod(other) -> [Numeric] (114.0) -
self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にして返します。 商 q は常に整数ですが、余り r は整数であるとは限りません。
...r は、
* self == other * q + r
と
* other > 0 のとき: 0 <= r < other
* other < 0 のとき: other < r <= 0
* q は整数
をみたす数です。
divmod が返す商は Numeric#div と同じです。
また余りは、Numeric#modulo と同じです。
このメソッドは、......ています。
@param other 自身を割る数を指定します。
//emlist[例][ruby]{
11.divmod(3) #=> [3, 2]
(11.5).divmod(3.5) #=> [3, 1.0]
11.divmod(-3) #=> [-4, -1]
11.divmod(3.5) #=> [3, 0.5]
(-11).divmod(3.5) #=> [-4, 3.0]
//}
@see Numeric#div, Numeric#modulo... -
Numeric
# modulo(other) -> Numeric (114.0) -
self を other で割った余り r を返します。
...り 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[例][ruby]{
p 13.modulo(4) #=> 1
p (11.5).modulo(3.5) #=> 1.0
p 13.modulo(-4) #=> -3
p (-13).modulo(4) #=> 3
p (-13).modulo(-4) #=> -1
p (-11).modulo(3.5) #=> 3.0
//}
@see Numeric#divmod, Numeric#remainder... -
Numeric
# nonzero? -> self | nil (114.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 aA Aa AA A )
b = a.sort {|a,b| (a.downcase <=> b.downcase).nonzero? || a <=> b }
b #=> ["A", "a", "AA", "Aa", "aA", "BB", "Bb", "bB", "bb", "z"]
//}
@see Numeric#zero?... -
Numeric
# remainder(other) -> Numeric (114.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 と同じになります。......other 自身を割る数を指定します。
//emlist[例][ruby]{
p 13.remainder(4) #=> 1
p (11.5).remainder(3.5) #=> 1.0
p 13.remainder(-4) #=> 1
p (-13).remainder(4) #=> -1
p (-13).remainder(-4) #=> -1
p (-11).remainder(3.5) #=> -0.5
//}
@see Numeric#divmod, Numeric#modulo... -
Numeric
# step(by: 1 , to: Float :: INFINITY) -> Enumerator (114.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...されなかった時は Enumerator を返します。
@raise ArgumentError step に 0 を指定した場合に発生します。
//emlist[例][ruby]{
2.step(5){|n| p n}
2
3
4
5
1.1.step(1.5, 0.1) {|n| p n}
1.1
1.2
1.3
1.4
1.5
10.step(6, -1){|n| p n}
10
9
8
7
6
3.step(by:2, to:10){|n| p n}
3
5......では誤差が
生じて意図した回数ループしないことがある。step はこの誤差を考慮し
て実装されている。
//emlist[例][ruby]{
i = 1.1
while i <= 1.5
p i
i += 0.1
end
# => 1.1
# 1.2
# 1.3
# 1.4 <- 1.5 が表示されない
//}
@see Integer#downto......@return 特に limit (または to) と step の両方が Numeric または nil の時は
Enumerator::ArithmeticSequence を返します。
@raise ArgumentError step に 0 を指定した場合に発生します。
//emlist[例][ruby]{
2.step(5){|n| p n}
2
3
4
5
1.1.step(1.5, 0.1) {|n| p...