種類
- インスタンスメソッド (139)
- 文書 (77)
- ライブラリ (11)
- クラス (11)
ライブラリ
- ビルトイン (150)
クラス
-
Enumerator
:: ArithmeticSequence (12) - Integer (10)
- Numeric (95)
- Object (22)
キーワード
-
/ (10) -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) -
NEWS for Ruby 2
. 1 . 0 (11) -
NEWS for Ruby 2
. 5 . 0 (7) -
NEWS for Ruby 3
. 0 . 0 (4) - Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (11)
- Ruby用語集 (11)
- begin (6)
- bigdecimal (11)
- clone (11)
- coerce (11)
- dup (11)
-
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 4 feature (11) - step (84)
検索結果
先頭5件
-
Numeric (40362.0)
-
数値を表す抽象クラスです。Integer や Float などの数値クラス は Numeric のサブクラスとして実装されています。
...ラス
は Numeric のサブクラスとして実装されています。
演算や比較を行うメソッド(+, -, *, /, <=>)は Numeric のサブクラスで定義されま
す。Numeric で定義されているメソッドは、サブクラスで提供されているメソッド
(+, -, *, /, %)......を利用して定義されるものがほとんどです。
つまり Numeric で定義されているメソッドは、Numeric のサブクラスとして新たに数値クラスを定義した時に、
演算メソッド(+, -, *, /, %, <=>, coerce)だけを定義すれば、数値クラスのそ......
-1.1 | -1 -2 -1 -1
-1.9 | -1 -2 -2 -1
=== 丸めメソッドの拡張例
切上げはceil, floor を使用して以下のように定義できます。
//emlist[例][ruby]{
if n > 0 then
n.ceil
else
n.floor
end... -
Numeric
# coerce(other) -> [Numeric] (21231.0) -
自身と other が同じクラスになるよう、自身か other を変換し [other, self] という配列にして返します。
...列にして返します。
デフォルトでは self と other を Float に変換して [other, self] という配列にして返します。
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
以下は Rational の coerce のソースです......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
//}
数値クラスの算術演算子は通常自分と演算できないクラスをオペランドとして受け
取ると coerce を使っ......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 オペランドを数値で指定します。... -
Numeric
# step(by: 1 , to: Float :: INFINITY) -> Enumerator (21121.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...imitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指定された時は s......両方が 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 n}
1.1
1.2
1.3
1.4
1.5
10.step(6, -1){|n| p n}......では誤差が
生じて意図した回数ループしないことがある。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... -
Numeric
# step(by: 1 , to: Float :: INFINITY) -> Enumerator :: ArithmeticSequence (21121.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...imitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指定された時は s......両方が 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 n}
1.1
1.2
1.3
1.4
1.5
10.step(6, -1){|n| p n}......では誤差が
生じて意図した回数ループしないことがある。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... -
Numeric
# step(by: 1 , to: Float :: INFINITY) {|n| . . . } -> self (21121.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...imitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指定された時は s......両方が 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 n}
1.1
1.2
1.3
1.4
1.5
10.step(6, -1){|n| p n}......では誤差が
生じて意図した回数ループしないことがある。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... -
Numeric
# step(by: , to: -Float :: INFINITY) -> Enumerator (21121.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...imitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指定された時は s......両方が 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 n}
1.1
1.2
1.3
1.4
1.5
10.step(6, -1){|n| p n}......では誤差が
生じて意図した回数ループしないことがある。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... -
Numeric
# step(by: , to: -Float :: INFINITY) -> Enumerator :: ArithmeticSequence (21121.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...imitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指定された時は s......両方が 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 n}
1.1
1.2
1.3
1.4
1.5
10.step(6, -1){|n| p n}......では誤差が
生じて意図した回数ループしないことがある。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... -
Numeric
# step(by: , to: -Float :: INFINITY) {|n| . . . } -> self (21121.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...imitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指定された時は s......両方が 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 n}
1.1
1.2
1.3
1.4
1.5
10.step(6, -1){|n| p n}......では誤差が
生じて意図した回数ループしないことがある。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... -
Numeric
# step(limit , step = 1) -> Enumerator (21121.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...imitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指定された時は s......両方が 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 n}
1.1
1.2
1.3
1.4
1.5
10.step(6, -1){|n| p n}......では誤差が
生じて意図した回数ループしないことがある。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... -
Numeric
# step(limit , step = 1) -> Enumerator :: ArithmeticSequence (21121.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...imitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指定された時は s......両方が 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 n}
1.1
1.2
1.3
1.4
1.5
10.step(6, -1){|n| p n}......では誤差が
生じて意図した回数ループしないことがある。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... -
Numeric
# step(limit , step = 1) {|n| . . . } -> self (21121.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...imitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指定された時は s......両方が 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 n}
1.1
1.2
1.3
1.4
1.5
10.step(6, -1){|n| p n}......では誤差が
生じて意図した回数ループしないことがある。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... -
Numeric
# step(by: 1 , to: Float :: INFINITY) -> Enumerator (21114.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...imitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指定された時は s......定した場合に発生します。
//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
7
9
//}
注:浮動小数点数の 0.1 は 2進数では正確な表現ができない(2進......では誤差が
生じて意図した回数ループしないことがある。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... -
Numeric
# step(by: 1 , to: Float :: INFINITY) {|n| . . . } -> self (21114.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...imitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指定された時は s......定した場合に発生します。
//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
7
9
//}
注:浮動小数点数の 0.1 は 2進数では正確な表現ができない(2進......では誤差が
生じて意図した回数ループしないことがある。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... -
Numeric
# step(by: , to: -Float :: INFINITY) -> Enumerator (21114.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...imitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指定された時は s......定した場合に発生します。
//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
7
9
//}
注:浮動小数点数の 0.1 は 2進数では正確な表現ができない(2進......では誤差が
生じて意図した回数ループしないことがある。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... -
Numeric
# step(by: , to: -Float :: INFINITY) {|n| . . . } -> self (21114.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...imitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指定された時は s......定した場合に発生します。
//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
7
9
//}
注:浮動小数点数の 0.1 は 2進数では正確な表現ができない(2進......では誤差が
生じて意図した回数ループしないことがある。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... -
Numeric
# step(limit , step = 1) -> Enumerator (21114.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
...imitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INFINITY、負の数であれば
-Float::INFINITYを指定したとみなされます。
@param by 引数 step と同じです。
@return ブロックが指定された時は s......定した場合に発生します。
//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
7
9
//}
注:浮動小数点数の 0.1 は 2進数では正確な表現ができない(2進......では誤差が
生じて意図した回数ループしないことがある。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...