種類
- インスタンスメソッド (171)
- クラス (11)
検索結果
先頭5件
-
Integer
# downto(min) -> Enumerator (39222.0) -
self から min まで 1 ずつ減らしながらブロックを繰り返し実行します。 self < min であれば何もしません。
...で 1 ずつ減らしながらブロックを繰り返し実行します。
self < min であれば何もしません。
@param min 数値
@return self を返します。
//emlist[][ruby]{
5.downto(1) {|i| print i, " " } # => 5 4 3 2 1
//}
@see Integer#upto, Numeric#step, Integer#times... -
Integer
# downto(min) {|n| . . . } -> self (39222.0) -
self から min まで 1 ずつ減らしながらブロックを繰り返し実行します。 self < min であれば何もしません。
...で 1 ずつ減らしながらブロックを繰り返し実行します。
self < min であれば何もしません。
@param min 数値
@return self を返します。
//emlist[][ruby]{
5.downto(1) {|i| print i, " " } # => 5 4 3 2 1
//}
@see Integer#upto, Numeric#step, Integer#times... -
Integer
# [](nth) -> Integer (21271.0) -
nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1 を、そうでなければ 0 を返します。
...(n >> i) & ((1 << len) - 1) と同じ
@return self[i..j] は (n >> i) & ((1 << (j - i + 1)) - 1) と同じ
@return self[i...j] は (n >> i) & ((1 << (j - i)) - 1) と同じ
@return self[i..] は (n >> i) と同じ
@return self[..j] は n & ((1 << (j + 1)) - 1) が 0 なら 0
@return......self[...j] は n & ((1 << j) - 1) が 0 なら 0
@raise ArgumentError self[..j] で n & ((1 << (j + 1)) - 1) が 0 以外のとき
@raise ArgumentError self[...j] で n & ((1 << j) - 1) が 0 以外のとき
//emlist[][ruby]{
a = 0b11001100101010
30.downto(0) {|n| print a[n] }
# => 00000000000......00000011001100101010
a = 9**15
50.downto(0) {|n| print a[n] }
# => 000101110110100000111000011110010100111100010111001
//}
n[i] は (n >> i) & 1 と等価なので、負のインデックスは常に 0 を返します。
//emlist[][ruby]{
p 255[-1] # => 0
//}
//emlist[複数ビットの例][ruby... -
Integer
# [](nth , len) -> Integer (21271.0) -
nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1 を、そうでなければ 0 を返します。
...(n >> i) & ((1 << len) - 1) と同じ
@return self[i..j] は (n >> i) & ((1 << (j - i + 1)) - 1) と同じ
@return self[i...j] は (n >> i) & ((1 << (j - i)) - 1) と同じ
@return self[i..] は (n >> i) と同じ
@return self[..j] は n & ((1 << (j + 1)) - 1) が 0 なら 0
@return......self[...j] は n & ((1 << j) - 1) が 0 なら 0
@raise ArgumentError self[..j] で n & ((1 << (j + 1)) - 1) が 0 以外のとき
@raise ArgumentError self[...j] で n & ((1 << j) - 1) が 0 以外のとき
//emlist[][ruby]{
a = 0b11001100101010
30.downto(0) {|n| print a[n] }
# => 00000000000......00000011001100101010
a = 9**15
50.downto(0) {|n| print a[n] }
# => 000101110110100000111000011110010100111100010111001
//}
n[i] は (n >> i) & 1 と等価なので、負のインデックスは常に 0 を返します。
//emlist[][ruby]{
p 255[-1] # => 0
//}
//emlist[複数ビットの例][ruby... -
Integer
# [](range) -> Integer (21271.0) -
nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1 を、そうでなければ 0 を返します。
...(n >> i) & ((1 << len) - 1) と同じ
@return self[i..j] は (n >> i) & ((1 << (j - i + 1)) - 1) と同じ
@return self[i...j] は (n >> i) & ((1 << (j - i)) - 1) と同じ
@return self[i..] は (n >> i) と同じ
@return self[..j] は n & ((1 << (j + 1)) - 1) が 0 なら 0
@return......self[...j] は n & ((1 << j) - 1) が 0 なら 0
@raise ArgumentError self[..j] で n & ((1 << (j + 1)) - 1) が 0 以外のとき
@raise ArgumentError self[...j] で n & ((1 << j) - 1) が 0 以外のとき
//emlist[][ruby]{
a = 0b11001100101010
30.downto(0) {|n| print a[n] }
# => 00000000000......00000011001100101010
a = 9**15
50.downto(0) {|n| print a[n] }
# => 000101110110100000111000011110010100111100010111001
//}
n[i] は (n >> i) & 1 と等価なので、負のインデックスは常に 0 を返します。
//emlist[][ruby]{
p 255[-1] # => 0
//}
//emlist[複数ビットの例][ruby... -
Integer
# upto(max) {|n| . . . } -> Integer (21221.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
# [](nth) -> Integer (21215.0) -
nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1 を、そうでなければ 0 を返します。
...30.downto(0) {|n| print a[n] }
# => 0000000000000000011001100101010
a = 9**15
50.downto(0) {|n| print a[n] }
# => 000101110110100000111000011110010100111100010111001
//}
n[i] は (n >> i) & 1 と等価なので、負のインデックスは常に 0 を返します。
//emlist[][ruby]{
p 255[-1]... -
Integer
# times -> Enumerator (21126.0) -
self 回だけ繰り返します。 self が正の整数でない場合は何もしません。
...self - 1 までの数値が渡されます。
//emlist[][ruby]{
3.times { puts "Hello, World!" } # Hello, World! と3行続いて表示される。
0.times { puts "Hello, World!" } # 何も表示されない。
5.times {|n| print n } # 01234 と表示される。
//}
@see Integer#upt......o, Integer#downto, Numeric#step... -
Integer
# times {|n| . . . } -> self (21126.0) -
self 回だけ繰り返します。 self が正の整数でない場合は何もしません。
...self - 1 までの数値が渡されます。
//emlist[][ruby]{
3.times { puts "Hello, World!" } # Hello, World! と3行続いて表示される。
0.times { puts "Hello, World!" } # 何も表示されない。
5.times {|n| print n } # 01234 と表示される。
//}
@see Integer#upt......o, Integer#downto, Numeric#step... -
Integer
# upto(max) -> Enumerator (21121.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... -
Numeric (2280.0)
-
数値を表す抽象クラスです。Integer や Float などの数値クラス は Numeric のサブクラスとして実装されています。
...数値を表す抽象クラスです。Integer や Float などの数値クラス
は Numeric のサブクラスとして実装されています。
演算や比較を行うメソッド(+, -, *, /, <=>)は Numeric のサブクラスで定義されま
す。Numeric で定義されているメソッ......れているメソッド
(+, -, *, /, %) を利用して定義されるものがほとんどです。
つまり Numeric で定義されているメソッドは、Numeric のサブクラスとして新たに数値クラスを定義した時に、
演算メソッド(+, -, *, /, %, <=>, coerce)だけ......れば、数値クラスのそのほかのメソッドが
適切に定義されることを意図して提供されています。
+@, -@ は単項演算子 +, - を表しメソッド定義などではこの記法を利用します。
効率のため Numeric のメソッドと同じメソッドが... -
Numeric
# step(by: 1 , to: Float :: INFINITY) -> Enumerator (123.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...