るりまサーチ (Ruby 2.7.0)

最速Rubyリファレンスマニュアル検索!
40件ヒット [1-40件を表示] (0.200秒)
トップページ > ライブラリ:ビルトイン[x] > バージョン:2.7.0[x] > クエリ:_builtin[x] > クラス:Range[x]

別のキーワード

  1. _builtin new
  2. _builtin inspect
  3. _builtin []
  4. _builtin to_s
  5. _builtin each

キーワード

検索結果

Range#%(s) -> Enumerator (24010.0)

範囲内の要素を s おきに繰り返します。

...ブロックを指定しなかった時かつ数値の Range の時は Enumerator::ArithmeticSequence を返します。
@return ブロックを指定しなかったその他の Range の時は Enumerator を返します。(例: String の Range)

//emlist[例][ruby]{
("a" .. "f").step(2) {|v| p v}...

Range#%(s) -> Enumerator::ArithmeticSequence (24010.0)

範囲内の要素を s おきに繰り返します。

...ブロックを指定しなかった時かつ数値の Range の時は Enumerator::ArithmeticSequence を返します。
@return ブロックを指定しなかったその他の Range の時は Enumerator を返します。(例: String の Range)

//emlist[例][ruby]{
("a" .. "f").step(2) {|v| p v}...

Range#==(other) -> bool (24010.0)

指定された other が Range クラスのインスタンスであり、 始端と終端が == メソッドで比較して等しく、Range#exclude_end? が同じ場合に true を返します。そうでない場合に false を返します。

...指定された other が Range クラスのインスタンスであり、
始端と終端が == メソッドで比較して等しく、Range#exclude_end? が同じ場合に
true を返します。そうでない場合に false を返します。

@param other 自身と比較したいオブジェ...
...クトを指定します。

//emlist[例][ruby]{
p (1..2) == (1..2) # => true
p (1..2) == (1...2) # => false
p (1..2) == Range.new(1.0, 2.0) # => true
//}...

Range#===(obj) -> bool (24010.0)

始端と終端の中に obj があるとき、true を返します。 そうでないとき、false を返します。

...始端と終端の中に obj があるとき、true を返します。
そうでないとき、false を返します。

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

//emlist[例][ruby]{
p (0...50) === 79 #=> false
p (60...80) === 79 #=> true

case 79
when 0...60 then puts...
...で呼んでいました。

しかし、2.6 以降では、(文字列を除いて) Range#cover? と同様の処理をするように切り替わりました。

ただし、=== は、Range#cover? のように Range オブジェクトを引数にはとる設計はありません。

//emlist[例][ru...
...> true
# 2.5 以前は、=== は、include? と同じく比較できず false を返していました。
//}

2.7 以降の === は、文字列も Range#cover? と同様の処理をするようになりました。

//emlist[例][ruby]{
p ('a'..'z').include? 'at' #=> false
p ('a'..'z').cover? 'at'...

Range#begin -> object (24010.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#bsearch -> Enumerator (24010.0)

ブロックの評価結果で範囲内の各要素の大小判定を行い、条件を満たす値を二 分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を 返します。

ブロックの評価結果で範囲内の各要素の大小判定を行い、条件を満たす値を二
分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を
返します。

本メソッドはブロックを評価した結果により以下のいずれかのモードで動作し
ます。

* find-minimum モード
* find-any モード

find-minimum モード(特に理由がない限りはこのモードを使う方がいいでしょ
う)では、条件判定の結果を以下のようにする必要があります。

* 求める値がブロックパラメータの値か前の要素の場合: true を返す
* 求める値がブロックパラメータより後の要...

Range#bsearch {|obj| ... } -> object | nil (24010.0)

ブロックの評価結果で範囲内の各要素の大小判定を行い、条件を満たす値を二 分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を 返します。

ブロックの評価結果で範囲内の各要素の大小判定を行い、条件を満たす値を二
分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を
返します。

本メソッドはブロックを評価した結果により以下のいずれかのモードで動作し
ます。

* find-minimum モード
* find-any モード

find-minimum モード(特に理由がない限りはこのモードを使う方がいいでしょ
う)では、条件判定の結果を以下のようにする必要があります。

* 求める値がブロックパラメータの値か前の要素の場合: true を返す
* 求める値がブロックパラメータより後の要...

Range#cover?(obj) -> bool (24010.0)

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

...e を返します。

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

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

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

//emlist[数値は連続的に扱われているため、 include? / cover? が同じ...

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

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

...over? は、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 オブジェクトが引数に渡されており、...
...「a <= c && b < d」を満たし、cが数値ではない(つまり引数の Range の終端を
求めるために succ メソッドの呼び出しが必要な)場合、パフォーマンスの問題が起きる可能性があります。

//emlist[パフォーマンス上の問題が起きる例][...

Range#each -> Enumerator (24010.0)

範囲内の要素に対して繰り返します。

...範囲内の要素に対して繰り返します。

Range
#each は各要素の succ メソッドを使用してイテレーションするようになりました。

@raise TypeError succ メソッドを持たないクラスの範囲オブジェクトに対してこのメソッドを呼んだ場...

絞り込み条件を変える

Range#each {|item| ... } -> self (24010.0)

範囲内の要素に対して繰り返します。

...範囲内の要素に対して繰り返します。

Range
#each は各要素の succ メソッドを使用してイテレーションするようになりました。

@raise TypeError succ メソッドを持たないクラスの範囲オブジェクトに対してこのメソッドを呼んだ場...

Range#end -> object (24010.0)

終端の要素を返します。範囲オブジェクトが終端を含むかどうかは関係ありま せん。

...終端の要素を返します。範囲オブジェクトが終端を含むかどうかは関係ありま
せん。

//emlist[例][ruby]{
(10..20).last # => 20
(10...20).last # => 20
//}

@see Range#begin...

Range#entries -> Array (24010.0)

self を配列に変換します。

...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#eql?(other) -> bool (24010.0)

指定された other が Range クラスのインスタンスであり、 始端と終端が eql? メソッドで比較して等しく、Range#exclude_end? が同じ場合に true を返します。そうでない場合に false を返します。

...指定された other が Range クラスのインスタンスであり、
始端と終端が eql? メソッドで比較して等しく、Range#exclude_end? が同じ場合に
true を返します。そうでない場合に false を返します。

@param other 自身と比較したいオブジェ...
...クトを指定します。

//emlist[例][ruby]{
p (1..2).eql?(1..2) # => true
p (1..2).eql?(1...2) # => false
p (1..2).eql?(Range.new(1.0, 2.0)) # => false
//}...

Range#exclude_end? -> bool (24010.0)

範囲オブジェクトが終端を含まないとき真を返します。

範囲オブジェクトが終端を含まないとき真を返します。

//emlist[例][ruby]{
(1..5).exclude_end? # => false
(1...5).exclude_end? # => true
//}

絞り込み条件を変える

Range#first -> object (24010.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] (24010.0)

最初の n 要素を返します。範囲内に要素が含まれない場合は空の配列を返します。

...に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。

@raise ArgumentError n に負の数を指定した場合に発生します。

//emlist[例][ruby]{
(10..20).first(3) # => [10, 11, 12]
//}

@see Range#last, 12697...

Range#hash -> Integer (24010.0)

始端と終端のハッシュ値と Range#exclude_end? の値からハッシュ値を計算して整数として返します。

...始端と終端のハッシュ値と Range#exclude_end? の値からハッシュ値を計算して整数として返します。

//emlist[例][ruby]{
p (1..2).hash # => 5646
p (1...2).hash # => 16782863
//}...

Range#include?(obj) -> bool (24010.0)

obj が範囲内に含まれている時に 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#inspect -> String (24010.0)

self を文字列に変換します(始端と終端のオブジェクトは #inspect メソッド で文字列に変換されます)。

...self を文字列に変換します(始端と終端のオブジェクトは #inspect メソッド
で文字列に変換されます)。

@see Range#to_s

//emlist[例][ruby]{
(1..5).inspect # => "1..5"
("1".."5").inspect # => "\"1\"..\"5\""
//}...

絞り込み条件を変える

Range#last -> object (24010.0)

終端の要素を返します。範囲オブジェクトが終端を含むかどうかは関係ありま せん。

...終端の要素を返します。範囲オブジェクトが終端を含むかどうかは関係ありま
せん。

//emlist[例][ruby]{
(10..20).last # => 20
(10...20).last # => 20
//}

@see Range#begin...

Range#last(n) -> [object] (24010.0)

最後の n 要素を返します。範囲内に要素が含まれない場合は空の配列を返します。

...引数を省略して実行した場合は、終端を含むかどうか
(Range#exclude_end? の戻り値)に関わらず終端の要素を返す事に注意し
てください。

//emlist[例][ruby]{
(10..20).last(3) # => [18, 19, 20]
(10...20).last(3) # => [17, 18, 19]
//}

@see Range#first...

Range#max -> object | nil (24010.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.....

Range#max {|a, b| ... } -> object | nil (24010.0)

ブロックの評価結果で範囲内の各要素の大小判定を行い、最大の要素、もしくは 最大の n 要素を返します。引数を指定しない形式では、 範囲内に要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。

...ています。

@param n 取得する要素数。

@raise TypeError ブロックが整数以外を返したときに発生します。

@see Range#last, Range#min, Enumerable#max

//emlist[例][ruby]{
h = { 1 => "C", 2 => "Go", 3 => "Ruby" }
(1..3).max { |a, b| h[a].length <=> h[b].length } # =>...

Range#max(n) -> [object] (24010.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.....

絞り込み条件を変える

Range#max(n) {|a, b| ... } -> [object] (24010.0)

ブロックの評価結果で範囲内の各要素の大小判定を行い、最大の要素、もしくは 最大の n 要素を返します。引数を指定しない形式では、 範囲内に要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。

...ています。

@param n 取得する要素数。

@raise TypeError ブロックが整数以外を返したときに発生します。

@see Range#last, Range#min, Enumerable#max

//emlist[例][ruby]{
h = { 1 => "C", 2 => "Go", 3 => "Ruby" }
(1..3).max { |a, b| h[a].length <=> h[b].length } # =>...

Range#member?(obj) -> bool (24010.0)

obj が範囲内に含まれている時に 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#min -> object | nil (24010.0)

範囲内の最小の値、もしくは最小の n 要素が昇順で入った配列を返します。

範囲内の最小の値、もしくは最小の n 要素が昇順で入った配列を返します。

@param n 取得する要素数。

//emlist[例][ruby]{
(1..5).min # => 1
//}
//emlist[例][ruby]{
(1..5).min(3) # => [1, 2, 3]
//}

始端が終端より大きい場合、もしくは、終端を含まない範囲オブジェクトの始端が終端と
等しい場合は、引数を指定しない形式では nil を返します。
引数を指定する形式では、空の配列を返します。

//emlist[例][ruby]{
(2..1).min # => nil
(1...1...

Range#min {|a, b| ... } -> object | nil (24010.0)

ブロックの評価結果で範囲内の各要素の大小判定を行い、最小の要素、もしくは 最小の n 要素を返します。引数を指定しない形式では、範囲内に要素が存在しなければ nil を返します。引数を指定する形式では、空の配列を返します。

...ています。

@param n 取得する要素数。

@raise TypeError ブロックが整数以外を返したときに発生します。

@see Range#first, Range#max, Enumerable#min

//emlist[例][ruby]{
h = { 1 => "C", 2 => "Go", 3 => "Ruby" }
(1..3).min { |a, b| h[a].length <=> h[b].length } # =...

Range#min(n) -> [object] (24010.0)

範囲内の最小の値、もしくは最小の n 要素が昇順で入った配列を返します。

範囲内の最小の値、もしくは最小の n 要素が昇順で入った配列を返します。

@param n 取得する要素数。

//emlist[例][ruby]{
(1..5).min # => 1
//}
//emlist[例][ruby]{
(1..5).min(3) # => [1, 2, 3]
//}

始端が終端より大きい場合、もしくは、終端を含まない範囲オブジェクトの始端が終端と
等しい場合は、引数を指定しない形式では nil を返します。
引数を指定する形式では、空の配列を返します。

//emlist[例][ruby]{
(2..1).min # => nil
(1...1...

絞り込み条件を変える

Range#min(n) {|a, b| ... } -> [object] (24010.0)

ブロックの評価結果で範囲内の各要素の大小判定を行い、最小の要素、もしくは 最小の n 要素を返します。引数を指定しない形式では、範囲内に要素が存在しなければ nil を返します。引数を指定する形式では、空の配列を返します。

...ています。

@param n 取得する要素数。

@raise TypeError ブロックが整数以外を返したときに発生します。

@see Range#first, Range#max, Enumerable#min

//emlist[例][ruby]{
h = { 1 => "C", 2 => "Go", 3 => "Ruby" }
(1..3).min { |a, b| h[a].length <=> h[b].length } # =...

Range#minmax -> [object, object] (24010.0)

範囲内の要素のうち、最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。

範囲内の要素のうち、最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。

一つ目の形式では、全要素が互いに <=> メソッドで比較できることを仮定しています。

二つ目の形式では、要素同士の比較をブロックを用いて行います。
ブロックの値は、a > b のとき正、 a == b のとき 0、a < b のとき負の整数を、期待しています。

//emlist[例][ruby]{
(1..3).minmax # => [1, 3]

h = { 1 => "C", 2 => "Go", 3 => "Ruby" }
(1..3).minmax { |a, b| h[a].length ...

Range#minmax {|a, b| ... } -> [object, object] (24010.0)

範囲内の要素のうち、最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。

範囲内の要素のうち、最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。

一つ目の形式では、全要素が互いに <=> メソッドで比較できることを仮定しています。

二つ目の形式では、要素同士の比較をブロックを用いて行います。
ブロックの値は、a > b のとき正、 a == b のとき 0、a < b のとき負の整数を、期待しています。

//emlist[例][ruby]{
(1..3).minmax # => [1, 3]

h = { 1 => "C", 2 => "Go", 3 => "Ruby" }
(1..3).minmax { |a, b| h[a].length ...

Range#size -> Integer | Float::INFINITY | nil (24010.0)

範囲内の要素数を返します。始端、終端のいずれかのオブジェクトが Numeric のサブクラスのオブジェクトではない場合には nil を返します。

範囲内の要素数を返します。始端、終端のいずれかのオブジェクトが
Numeric のサブクラスのオブジェクトではない場合には nil を返します。

//emlist[例][ruby]{
(10..20).size # => 11
("a".."z").size # => nil
(-Float::INFINITY..Float::INFINITY).size # => Infinity
//}

Range#step(s = 1) -> Enumerator (24010.0)

範囲内の要素を s おきに繰り返します。

...ブロックを指定しなかった時かつ数値の Range の時は Enumerator::ArithmeticSequence を返します。
@return ブロックを指定しなかったその他の Range の時は Enumerator を返します。(例: String の Range)

//emlist[例][ruby]{
("a" .. "f").step(2) {|v| p v}...

絞り込み条件を変える

Range#step(s = 1) -> Enumerator::ArithmeticSequence (24010.0)

範囲内の要素を s おきに繰り返します。

...ブロックを指定しなかった時かつ数値の Range の時は Enumerator::ArithmeticSequence を返します。
@return ブロックを指定しなかったその他の Range の時は Enumerator を返します。(例: String の Range)

//emlist[例][ruby]{
("a" .. "f").step(2) {|v| p v}...

Range#step(s = 1) {|item| ... } -> self (24010.0)

範囲内の要素を s おきに繰り返します。

...ブロックを指定しなかった時かつ数値の Range の時は Enumerator::ArithmeticSequence を返します。
@return ブロックを指定しなかったその他の Range の時は Enumerator を返します。(例: String の Range)

//emlist[例][ruby]{
("a" .. "f").step(2) {|v| p v}...

Range#to_a -> Array (24010.0)

self を配列に変換します。

...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#to_s -> String (24010.0)

self を文字列に変換します(始端と終端のオブジェクトは #to_s メソッドで文 字列に変換されます)。

...self を文字列に変換します(始端と終端のオブジェクトは #to_s メソッドで文
字列に変換されます)。

@see Range#inspect

//emlist[例][ruby]{
(1..5).to_s # => "1..5"
("1".."5").to_s # => "1..5"
//}...

Range.new(first, last, exclude_end = false) -> Range (24010.0)

first から last までの範囲オブジェクトを生成して返しま す。

...mlist[例: 整数の範囲オブジェクトの場合][ruby]{
Range
.new(1, 10) # => 1..10
Range
.new(1, 10, true) # => 1...10
//}

//emlist[例: 日付オブジェクトの範囲オブジェクトの場合][ruby]{
require 'date'
Range
.new(Date.today, Date.today >> 1).each {|d| puts d }
# => 201...
...7-09-16
# 2017-09-17
# ...
# 2017-10-16
//}

//emlist[例: IPアドレスの範囲オブジェクトの場合][ruby]{
require 'ipaddr'
Range
.new(IPAddr.new("192.0.2.1"), IPAddr.new("192.0.2.3")).each {|ip| puts ip}
# => 192.0.2.1
# 192.0.2.2
# 192.0.2.3
//}

//emlist[例: 自作のオ...
...ブジェクトの場合][ruby]{
MyInteger = Struct.new(:value) do
def succ
self.class.new(value + 1)
end

def <=>(other)
value <=> other.value
end

def to_s
value.to_s
end
end
Range
.new(MyInteger.new(1), MyInteger.new(3)).each {|i| puts i }
# => 1
# 2
# 3
//}...

絞り込み条件を変える