るりまサーチ

最速Rubyリファレンスマニュアル検索!
464件ヒット [1-100件を表示] (0.120秒)
トップページ > クエリ:r[x] > クラス:Range[x]

別のキーワード

  1. _builtin to_r
  2. open3 pipeline_r
  3. matrix elements_to_r
  4. fileutils rm_r
  5. fileutils cp_r

ライブラリ

キーワード

検索結果

<< 1 2 3 ... > >>

Range#bsearch -> Enumerator (6101.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 (6101.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#cover?(obj) -> bool (6101.0)

obj が範囲内に含まれている時に true を返します。

...時に true を返します。

Range
#include? と異なり <=> メソッドによる演算により範囲内かどうかを判定します。
Range
#include? は原則として離散値を扱い、
Range
#cover? は連続値を扱います。
(数値については、例外として Range#include?...
...

Range
#exclude_end?がfalseなら「begin <= obj <= end」を、
trueなら「begin <= obj < end」を意味します。

@param obj 比較対象のオブジェクトを指定します。

//emlist[数値は連続的に扱われているため、 include? / cover? が同じ結果を返す][ruby]...
...# => true
(1.1..2.3).include?(1.555) # => true
(1.1..2.3).cover?(1.0) # => false
(1.1..2.3).cover?(1.1) # => true
(1.1..2.3).cover?(1.555) # => true
//}

//emlist[String の例][ruby]{
('b'..'d').include?('d') # => true
('b'..'d').include?('ba') # => false
('b'..'d').cover?('d')...

Range#cover?(range) -> bool (6101.0)

2.6 以降の cover? は、Range#include? や Range#=== と異なり、 引数に Range オブジェクトを指定して比較できます。

...cover? は、Range#include? や Range#=== と異なり、
引数に Range オブジェクトを指定して比較できます。

引数が Range オブジェクトの場合、引数の範囲が self の範囲に含まれる時に true を返します。

@param range 比較対象の Range クラ...
...スタンスを指定します。

//emlist[引数が Range の例][ruby]{
(1..5).cover?(2..3) #=> true
(1..5).cover?(0..6) #=> false
(1..5).cover?(1...6) #=> true
//}

「(a..b).cover?(c...d)」のように終端を含まない Range オブジェクトが引数に渡されており、...
... Range の終端を
求めるために succ メソッドの呼び出しが必要な)場合、パフォーマンスの問題が起きる可能性があります。

//emlist[パフォーマンス上の問題が起きる例][ruby]{
p ('aaaaa'..'zzzzy').cover?('aaaaa'...'zzzzz') # => true
//}

@see Ran...

Range#entries -> Array (6101.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]

r
equire '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 (6101.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#first(n) -> [object] (6101.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#member?(obj) -> bool (6101.0)

obj が範囲内に含まれている時に true を返します。 そうでない場合は、false を返します。

...内に含まれている時に true を返します。
そうでない場合は、false を返します。

Range
#=== は主に case 式での比較に用いられます。

<=> メソッドによる演算により範囲内かどうかを判定するには Range#cover? を使用してください。...
... Range#cover? と同様の動きをします。

@param obj 比較対象のオブジェクトを指定します。

//emlist[例][ruby]{
p ("a" .. "c").include?("b") # => true
p ("a" .. "c").include?("B") # => false
p ("a" .. "c").include?("ba") # => false
p ("a" .. "c").cover?("ba") # => true...
...p (1 .. 3).include?(1.5) # => true
//}

@see d:spec/control#case
@see Range#cover?...
...ている時に true を返します。
そうでない場合は、false を返します。


<=> メソッドによる演算により範囲内かどうかを判定するには Range#cover? を使用してください。

始端・終端・引数が数値であれば、 Range#cover? と同様の動...
...

@param obj 比較対象のオブジェクトを指定します。

//emlist[例][ruby]{
p ("a" .. "c").include?("b") # => true
p ("a" .. "c").include?("B") # => false
p ("a" .. "c").include?("ba") # => false
p ("a" .. "c").cover?("ba") # => true

p (1 .. 3).include?(1.5) # => true
//}

@see...
...d:spec/control#case
@see Range#cover?, Range#===...

Range#overlap?(range) -> bool (6101.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#reverse_each -> Enumerator (6101.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 (6101.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.json_create(hash) -> Range (6101.0)

JSON のオブジェクトから Ruby のオブジェクトを生成して返します。

...JSON のオブジェクトから Ruby のオブジェクトを生成して返します。

@param hash 適切なキーを持つハッシュを指定します。...
<< 1 2 3 ... > >>