38件ヒット
[1-38件を表示]
(0.092秒)
別のキーワード
検索結果
先頭5件
-
Range
# size -> Integer | Float :: INFINITY | nil (6214.0) -
...を返します。始端、終端のいずれかのオブジェクトが
Numeric のサブクラスのオブジェクトではない場合には nil を返します。
//emlist[例][ruby]{
(10..20).size # => 11
("a".."z").size # => nil
(-Float::INFINITY..Float::INFINITY).size # => Infinity
//}......il を返し、始端が succ メソッドを持たない場合は TypeError が発生します。
@raise TypeError self がイテレート可能でない場合に発生します。
//emlist[例][ruby]{
(10..20).size # => 11
("a".."z").size # => nil
(1..).size # => Infinity
(-Float::INFI......NITY..Float::INFINITY).size # => can't iterate from Float (TypeError)
//}... -
Range
# %(s) -> Enumerator :: ArithmeticSequence (226.0) -
範囲内の要素を s おきに繰り返します。
...を指定しなかった時かつ数値の Range の時は Enumerator::ArithmeticSequence を返します。
@return ブロックを指定しなかったその他の Range の時は Enumerator を返します。(例: String の Range)
//emlist[例][ruby]{
(1..10).step(3) {|v| p v}
# => 1
# 4
#......の Range では、イテレーションに「要素 + s」を使用します。
(文字列またはシンボルの Range で s に数値を指定した場合を除きます)
//emlist[数値以外の Range に対する例][ruby]{
# Time の Range は each でイテレートできない
(Time.ut......c(2024, 12, 25)...Time.utc(2024, 12, 26)).each { |t| p t }
# => 'Range#each': can't iterate from Time (TypeError)
# step は使用可能
(Time.utc(2024, 12, 25)...Time.utc(2024, 12, 26)).step(60*60*6) { |t| p t }
# => 2024-12-25 00:00:00 UTC
# 2024-12-25 06:00:00 UTC
# 2024-12-25 12:00:00 UTC... -
Range
# step(s = 1) -> Enumerator :: ArithmeticSequence (226.0) -
範囲内の要素を s おきに繰り返します。
...を指定しなかった時かつ数値の Range の時は Enumerator::ArithmeticSequence を返します。
@return ブロックを指定しなかったその他の Range の時は Enumerator を返します。(例: String の Range)
//emlist[例][ruby]{
(1..10).step(3) {|v| p v}
# => 1
# 4
#......の Range では、イテレーションに「要素 + s」を使用します。
(文字列またはシンボルの Range で s に数値を指定した場合を除きます)
//emlist[数値以外の Range に対する例][ruby]{
# Time の Range は each でイテレートできない
(Time.ut......c(2024, 12, 25)...Time.utc(2024, 12, 26)).each { |t| p t }
# => 'Range#each': can't iterate from Time (TypeError)
# step は使用可能
(Time.utc(2024, 12, 25)...Time.utc(2024, 12, 26)).step(60*60*6) { |t| p t }
# => 2024-12-25 00:00:00 UTC
# 2024-12-25 06:00:00 UTC
# 2024-12-25 12:00:00 UTC... -
Range
# %(s) -> Enumerator :: ArithmeticSequence (214.0) -
範囲内の要素を s おきに繰り返します。
...を指定しなかった時かつ数値の Range の時は Enumerator::ArithmeticSequence を返します。
@return ブロックを指定しなかったその他の Range の時は Enumerator を返します。(例: String の Range)
//emlist[例][ruby]{
(1..10).step(3) {|v| p v}
# => 1
# 4
#... -
Range
# step(s = 1) -> Enumerator :: ArithmeticSequence (214.0) -
範囲内の要素を s おきに繰り返します。
...を指定しなかった時かつ数値の Range の時は Enumerator::ArithmeticSequence を返します。
@return ブロックを指定しなかったその他の Range の時は Enumerator を返します。(例: String の Range)
//emlist[例][ruby]{
(1..10).step(3) {|v| p v}
# => 1
# 4
#... -
Range
# bsearch -> Enumerator (210.0) -
ブロックの評価結果で範囲内の各要素の大小判定を行い、条件を満たす値を二 分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を 返します。
...します。要素が見つからない場合は nil を
返します。
本メソッドはブロックを評価した結果により以下のいずれかのモードで動作し
ます。
* find-minimum モード
* find-any モード
find-minimum モード(特に理由がない限りはこの......、nil を返します。
//emlist[例][ruby]{
ary = [0, 4, 7, 10, 12]
(0...ary.size).bsearch {|i| ary[i] >= 4 } # => 1
(0...ary.size).bsearch {|i| ary[i] >= 6 } # => 2
(0...ary.size).bsearch {|i| ary[i] >= 8 } # => 3
(0...ary.size).bsearch {|i| ary[i] >= 100 } # => nil
(0.0...Float::INFINITY).bs......earch {|x| Math.log(x) >= 0 } # => 1.0
//}
find-any モードは bsearch(3) のように動作します。ブロックは真偽値
ではなく、以下のような数値を返す必要があります。求める値の範囲がx...y
(x <= y)であるとします。また、ブロックパラメ...