別のキーワード
ライブラリ
- ビルトイン (233)
検索結果
先頭5件
-
Range
# overlap?(range) -> bool (6156.0) -
self と range に重なりがある場合は true を、そうでない場合は false を返します。
...self と range に重なりがある場合は true を、そうでない場合は false を返します。
@param range self と重なりがあるかどうかを調べたい Range オブジェクトを指定します。
@raise TypeError 引数に Range でないオブジェクトを指定した......場合に発生します。
@see Range#cover?
//emlist[例][ruby]{
(0..2).overlap?(1..3) #=> true
(0..2).overlap?(3..4) #=> false
(0..).overlap?(..0) #=> true
(0..).overlap?(...0) #=> false
//}
self の端点と range の端点が比較可能でない(<=> メソッドが nil を返す)......//emlist[比較可能でない例][ruby]{
(1..3).overlap?('a'..'d') #=> false
//}
self または range が空である場合、false を返します。
ここで、Range が空であるとは、
* 始端が終端より大きい
* Range#exclude_end? が true であり、始端と終端が等... -
Range
# first(n) -> [object] (6140.0) -
最初の n 要素を返します。範囲内に要素が含まれない場合は空の配列を返します。
...い場合は空の配列を返します。
@param n 取得する要素数を整数で指定します。整数以外のオブジェクトを指定
した場合は to_int メソッドによる暗黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換......が行えない)オブジェクトを
指定した場合に発生します。
@raise ArgumentError n に負の数を指定した場合に発生します。
//emlist[例][ruby]{
(10..20).first(3) # => [10, 11, 12]
//}
@see Range#last, 12697... -
Range
# bsearch -> Enumerator (6132.0) -
ブロックの評価結果で範囲内の各要素の大小判定を行い、条件を満たす値を二 分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を 返します。
...場合: true を返す
* 求める値がブロックパラメータより後の要素の場合: false を返す
ブロックの評価結果が true になる最初の要素を返すか、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).bsearch {|x| Math.log(x) >= 0 } # => 1.0
//}
find-any モードは bsearch(3) のように動作します。ブロ......][ruby]{
ary = [0, 100, 100, 100, 200]
(0..4).bsearch {|i| 100 - ary[i] } # => 1, 2 or 3
(0..4).bsearch {|i| 300 - ary[i] } # => nil
(0..4).bsearch {|i| 50 - ary[i] } # => nil
//}
上記の 2 つのモードを混在して使用しないでください(ブロックの評価結果は
常に true/fa... -
Range
# bsearch {|obj| . . . } -> object | nil (6132.0) -
ブロックの評価結果で範囲内の各要素の大小判定を行い、条件を満たす値を二 分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を 返します。
...場合: true を返す
* 求める値がブロックパラメータより後の要素の場合: false を返す
ブロックの評価結果が true になる最初の要素を返すか、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).bsearch {|x| Math.log(x) >= 0 } # => 1.0
//}
find-any モードは bsearch(3) のように動作します。ブロ......][ruby]{
ary = [0, 100, 100, 100, 200]
(0..4).bsearch {|i| 100 - ary[i] } # => 1, 2 or 3
(0..4).bsearch {|i| 300 - ary[i] } # => nil
(0..4).bsearch {|i| 50 - ary[i] } # => nil
//}
上記の 2 つのモードを混在して使用しないでください(ブロックの評価結果は
常に true/fa... -
Range
# entries -> Array (6120.0) -
self を配列に変換します。
...。
@raise RangeError 終端のない Range オブジェクトを変換しようとしたときに発生します。
//emlist[例][ruby]{
p (5..0).to_a # => []
p (0..3).to_a # => [0, 1, 2, 3]
p ('a'..'c').to_a # => ["a", "b", "c"]
p (:a..:d).to_a # => [:a, :b, :c, :d]
require 'date'
p......(Date.new(1965, 4, 14) .. Date.new(1965, 4, 14)).to_a # => [#<Date: 1965-04-14 ((2438865j,0s,0n),+0s,2299161j)>]
(1..).to_a # RangeError: cannot convert endless range to an array
//}... -
Range
# first -> object (6120.0) -
始端の要素を返します。 始端を持たない範囲オブジェクトの場合、begin はnilを返しますが, first は例外 RangeError が発生します。
...しますが, first は例外 RangeError が発生します。
//emlist[例][ruby]{
# 始端を持つ場合
p (1..5).begin # => 1
p (1..0).begin # => 1
p (1..5).first # => 1
p (1..0).first # => 1
# 始端を持たない場合
p (..5).begin #=> nil
p (..5).first #=> RangeError
//}
@see Range#end... -
Range
# reverse _ each -> Enumerator (6120.0) -
逆順に各要素に対してブロックを評価します。
...を作ります。ただし、端点が Integer である場合は、配列を作らないように最適化が行われています。
ブロックを省略した場合は、各要素を逆順に辿る
Enumerator を返します。
@raise TypeError 終端を持たない範囲オブジェクトに......対してこのメソッドを呼んだ場合に発生します。
//emlist[例][ruby]{
(1..3).reverse_each # => #<Enumerator: ...>
(1..3).reverse_each { |v| p v }
# => 3
# 2
# 1
(1..).reverse_each { |v| p v } # raises: TypeError: can't iterate from NilClass
//}... -
Range
# reverse _ each {|element| . . . } -> self (6120.0) -
逆順に各要素に対してブロックを評価します。
...を作ります。ただし、端点が Integer である場合は、配列を作らないように最適化が行われています。
ブロックを省略した場合は、各要素を逆順に辿る
Enumerator を返します。
@raise TypeError 終端を持たない範囲オブジェクトに......対してこのメソッドを呼んだ場合に発生します。
//emlist[例][ruby]{
(1..3).reverse_each # => #<Enumerator: ...>
(1..3).reverse_each { |v| p v }
# => 3
# 2
# 1
(1..).reverse_each { |v| p v } # raises: TypeError: can't iterate from NilClass
//}... -
Range
# each -> Enumerator (3120.0) -
範囲内の要素に対して繰り返します。
...。
Range#each は各要素の succ メソッドを使用してイテレーションするようになりました。
@raise TypeError succ メソッドを持たないクラスの範囲オブジェクトに対してこのメソッドを呼んだ場合に発生します。
//emlist[例][ruby]{
(1......0..15).each {|n| print n, ' ' }
# prints: 10 11 12 13 14 15
(2.5..5).each {|n| print n, ' ' }
# raises: TypeError: can't iterate from Float
//}... -
Range
# size -> Integer | Float :: INFINITY | nil (3120.0) -
範囲内の要素数を返します。
...eError が発生します。
@raise TypeError self がイテレート可能でない場合に発生します。
//emlist[例][ruby]{
(10..20).size # => 11
("a".."z").size # => nil
(1..).size # => Infinity
(-Float::INFINITY..Float::INFINITY).size # => can't iterate from Float (TypeError)... -
Range
# to _ a -> Array (3120.0) -
self を配列に変換します。
...。
@raise RangeError 終端のない Range オブジェクトを変換しようとしたときに発生します。
//emlist[例][ruby]{
p (5..0).to_a # => []
p (0..3).to_a # => [0, 1, 2, 3]
p ('a'..'c').to_a # => ["a", "b", "c"]
p (:a..:d).to_a # => [:a, :b, :c, :d]
require 'date'
p......(Date.new(1965, 4, 14) .. Date.new(1965, 4, 14)).to_a # => [#<Date: 1965-04-14 ((2438865j,0s,0n),+0s,2299161j)>]
(1..).to_a # RangeError: cannot convert endless range to an array
//}... -
Range
# max -> object | nil (3057.0) -
範囲内の最大の値、もしくは最大の n 要素が降順で入った配列を返します。
...内の最大の値、もしくは最大の n 要素が降順で入った配列を返します。
@param n 取得する要素数。
//emlist[例][ruby]{
(1..5).max # => 5
//}
//emlist[例][ruby]{
(1..5).max(3) # => [5, 4, 3]
//}
始端が終端より大きい場合、もしくは、終端を......と
等しい場合は、引数を指定しない形式では nil を返します。
引数を指定する形式では、空の配列を返します。
//emlist[例][ruby]{
(2..1).max # => nil
(1...1).max # => nil
//}
//emlist[例][ruby]{
(2..1).max(3) # => []
(1...1).max(3) # => []
//}... -
Range
# max(n) -> [object] (3057.0) -
範囲内の最大の値、もしくは最大の n 要素が降順で入った配列を返します。
...内の最大の値、もしくは最大の n 要素が降順で入った配列を返します。
@param n 取得する要素数。
//emlist[例][ruby]{
(1..5).max # => 5
//}
//emlist[例][ruby]{
(1..5).max(3) # => [5, 4, 3]
//}
始端が終端より大きい場合、もしくは、終端を......と
等しい場合は、引数を指定しない形式では nil を返します。
引数を指定する形式では、空の配列を返します。
//emlist[例][ruby]{
(2..1).max # => nil
(1...1).max # => nil
//}
//emlist[例][ruby]{
(2..1).max(3) # => []
(1...1).max(3) # => []
//}...