るりまサーチ

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

別のキーワード

  1. rbconfig ruby
  2. fiddle ruby_free
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

ライブラリ

クラス

モジュール

検索結果

<< 1 2 3 ... > >>

Range (38174.0)

範囲オブジェクトのクラス。 範囲オブジェクトは文字どおり何らかの意味での範囲を表します。数の範囲はもちろん、 日付の範囲や、「"a" から "z" まで」といった文字列の範囲を表すこともできます。

...囲オブジェクトは、Range.new を用いるほか、範囲演算子(`..' または `...')を
用いた d:spec/operator#range で生成できます。
いずれの方法でも始端と終端を与えます。

//emlist[範囲オブジェクトの例][ruby]{
Range
.new(1, 5) # 1 以上 5 以...
...ということがあります。

//emlist[値が範囲に含まれるかどうかを判定][ruby]{
p (1..5).cover?(6) # => false
p (1..5).cover?(5) # => true
p (1...5).cover?(5) # => false
//}

Range
#cover? メソッドでの判定には演算子 <=> が使われます。

当然、始端と終...
...ジェクトで表す][ruby]{
(3..5).each{ |i| p i }
# => 3
# 4
# 5

(3...5).each{ |i| p i }
# => 3
# 4
//}

繰り返しの範囲を表す範囲オブジェクトは、始端が「次の値」を返す succ メソッドを
持たなければなりません。

Range
クラスには Enumera...
...ない範囲も表せます。

Ruby
2.6.0 からは、終端に nil を与えることで「終端を持たない範囲オブジェクト」
を作ることができるようになりました。

//emlist[終端を持たない範囲オブジェクト][ruby]{
p Range.new(1, nil) # 1 以上(上限...
...した書き方)
//}

また、Ruby 2.7.0 では始端に nil を与えることで「始端を持たない範囲オブジェクト」
を作ることもできるようになりました。

//emlist[始端を持たない範囲オブジェクト][ruby]{
p Range.new(nil, 5) # 5 以下(下限無...

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

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

Range#overlap?(range) -> bool (21207.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.new(first, last, exclude_end = false) -> Range (21155.0)

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

...//emlist[例: 整数の範囲オブジェクトの場合][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 }
# =>...
...レスの範囲オブジェクトの場合][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 suc...
...c
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
//}...

Range.json_create(hash) -> Range (21117.0)

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

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

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

絞り込み条件を変える

Range#===(obj) -> bool (21066.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 "low"
when 60...
....6 以降では、(文字列を除いて) Range#cover? と同様の処理をするように切り替わりました。

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

//emlist[例][ruby]{
require 'date'
p (Date.today - 100......
...e? と同じく比較できず false を返していました。
//}

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

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

Range#cover?(obj) -> bool (21062.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? が同じ結果を返す][ruby]{
(...
...(1.555) # => true
//}

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

//emlist[Date, DateTime の例][ruby]{
require 'date'
(Date.today - 365 .. Date.today...

Range#===(obj) -> bool (21054.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 "low"
when 60...
....6 以降では、(文字列を除いて) Range#cover? と同様の処理をするように切り替わりました。

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

//emlist[例][ruby]{
require 'date'
p (Date.today - 100......
...ay - 100...Date.today + 100).cover?(DateTime.now) #=> true
p (Date.today - 100...Date.today + 100) === DateTime.now #=> true
# 2.5 以前は、=== は、include? と同じく比較できず false を返していました。
//}


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

Range#==(other) -> bool (21044.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#eql?(other) -> bool (21044.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#max {|a, b| ... } -> object | nil (21034.0)

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

...整数以外を返したときに発生します。

@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 } # => 3
//}
//emlist[例][ruby]{
(1..3).max(2) { |a, b| h[a].length <=> h[b].length } # =...

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

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

...整数以外を返したときに発生します。

@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 } # => 3
//}
//emlist[例][ruby]{
(1..3).max(2) { |a, b| h[a].length <=> h[b].length } # =...
<< 1 2 3 ... > >>