るりまサーチ

最速Rubyリファレンスマニュアル検索!
66件ヒット [1-66件を表示] (0.064秒)
トップページ > クエリ:Ruby[x] > クエリ:ruby[x] > 種類:インスタンスメソッド[x] > クエリ:@[x] > クエリ:at[x] > クラス:Range[x]

別のキーワード

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

ライブラリ

キーワード

検索結果

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

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

...

@
param s 次のステップへ遷移するたびに加算されるものを指定します。
@
return ブロックを指定した時は self を返します。
@
return ブロックを指定しなかった時かつ数値の Range の時は Enumerator::ArithmeticSequence を返します。
@
retur...
...他の Range の時は Enumerator を返します。(例: String の Range)

//emlist[例][ruby]{
(1..10).step(3) {|v| p v}
# => 1
# 4
# 7
# 10

("a".."f").step(2) {|v| p v}
# => "a"
# "c"
# "e"

(10..0).step(-3) {|v| p v}
# => 10
# 7
# 4
# 1
//}


非数値の Range...
...ンボルの Range で s に数値を指定した場合を除きます)

//emlist[数値以外の Range に対する例][ruby]{
# Time の Range は each でイテレートできない
(Time.utc(2024, 12, 25)...Time.utc(2024, 12, 26)).each { |t| p t }
# => 'Range#each': can't iterate from Time (Ty...

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

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

...

@
param s 次のステップへ遷移するたびに加算されるものを指定します。
@
return ブロックを指定した時は self を返します。
@
return ブロックを指定しなかった時かつ数値の Range の時は Enumerator::ArithmeticSequence を返します。
@
retur...
...他の Range の時は Enumerator を返します。(例: String の Range)

//emlist[例][ruby]{
(1..10).step(3) {|v| p v}
# => 1
# 4
# 7
# 10

("a".."f").step(2) {|v| p v}
# => "a"
# "c"
# "e"

(10..0).step(-3) {|v| p v}
# => 10
# 7
# 4
# 1
//}


非数値の Range...
...ンボルの Range で s に数値を指定した場合を除きます)

//emlist[数値以外の Range に対する例][ruby]{
# Time の Range は each でイテレートできない
(Time.utc(2024, 12, 25)...Time.utc(2024, 12, 26)).each { |t| p t }
# => 'Range#each': can't iterate from Time (Ty...

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

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

...

@
param s 次のステップへ遷移するたびに加算されるものを指定します。
@
return ブロックを指定した時は self を返します。
@
return ブロックを指定しなかった時かつ数値の Range の時は Enumerator::ArithmeticSequence を返します。
@
retur...
...他の Range の時は Enumerator を返します。(例: String の Range)

//emlist[例][ruby]{
(1..10).step(3) {|v| p v}
# => 1
# 4
# 7
# 10

("a".."f").step(2) {|v| p v}
# => "a"
# "c"
# "e"

(10..0).step(-3) {|v| p v}
# => 10
# 7
# 4
# 1
//}


非数値の Range...
...ンボルの Range で s に数値を指定した場合を除きます)

//emlist[数値以外の Range に対する例][ruby]{
# Time の Range は each でイテレートできない
(Time.utc(2024, 12, 25)...Time.utc(2024, 12, 26)).each { |t| p t }
# => 'Range#each': can't iterate from Time (Ty...

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

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

...

@
param s 次のステップへ遷移するたびに加算されるものを指定します。
@
return ブロックを指定した時は self を返します。
@
return ブロックを指定しなかった時かつ数値の Range の時は Enumerator::ArithmeticSequence を返します。
@
retur...
...他の Range の時は Enumerator を返します。(例: String の Range)

//emlist[例][ruby]{
(1..10).step(3) {|v| p v}
# => 1
# 4
# 7
# 10

("a".."f").step(2) {|v| p v}
# => "a"
# "c"
# "e"

(10..0).step(-3) {|v| p v}
# => 10
# 7
# 4
# 1
//}


非数値の Range...
...ンボルの Range で s に数値を指定した場合を除きます)

//emlist[数値以外の Range に対する例][ruby]{
# Time の Range は each でイテレートできない
(Time.utc(2024, 12, 25)...Time.utc(2024, 12, 26)).each { |t| p t }
# => 'Range#each': can't iterate from Time (Ty...

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

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

...返します。

@
param s 各ステップの大きさを数値で指定します。負の数を指定することもできます。
@
return ブロックを指定した時は self を返します。
@
return ブロックを指定しなかった時かつ数値の Range の時は Enumerator::ArithmeticS...
...equence を返します。
@
return ブロックを指定しなかったその他の Range の時は Enumerator を返します。(例: String の Range)

//emlist[例][ruby]{
(1..10).step(3) {|v| p v}
# => 1
# 4
# 7
# 10

("a".."f").step(2) {|v| p v}
# => "a"
# "c"
# "e"

(10..0).step...

絞り込み条件を変える

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

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

...返します。

@
param s 各ステップの大きさを数値で指定します。負の数を指定することもできます。
@
return ブロックを指定した時は self を返します。
@
return ブロックを指定しなかった時かつ数値の Range の時は Enumerator::ArithmeticS...
...equence を返します。
@
return ブロックを指定しなかったその他の Range の時は Enumerator を返します。(例: String の Range)

//emlist[例][ruby]{
(1..10).step(3) {|v| p v}
# => 1
# 4
# 7
# 10

("a".."f").step(2) {|v| p v}
# => "a"
# "c"
# "e"

(10..0).step...

Range#bsearch -> Enumerator (138.0)

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

ブロックの評価結果が 0 になるいずれかの要素を返すか、nil を返します。

//emlist[例][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|...
...ばれるかは
未規定です。

ブロックが与えられなかった場合は、 Enumerator のインスタンスを返します。

@
raise TypeError ブロックの評価結果が true、false、nil、数値以外であっ
た場合に発生します。

@
see Array#bsearch...

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

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

...返します。

@
param s 各ステップの大きさを数値で指定します。負の数を指定することもできます。
@
return ブロックを指定した時は self を返します。
@
return ブロックを指定しなかった時かつ数値の Range の時は Enumerator::ArithmeticS...
...equence を返します。
@
return ブロックを指定しなかったその他の Range の時は Enumerator を返します。(例: String の Range)

//emlist[例][ruby]{
(1..10).step(3) {|v| p v}
# => 1
# 4
# 7
# 10

("a".."f").step(2) {|v| p v}
# => "a"
# "c"
# "e"

(10..0).step...

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

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

...返します。

@
param s 各ステップの大きさを数値で指定します。負の数を指定することもできます。
@
return ブロックを指定した時は self を返します。
@
return ブロックを指定しなかった時かつ数値の Range の時は Enumerator::ArithmeticS...
...equence を返します。
@
return ブロックを指定しなかったその他の Range の時は Enumerator を返します。(例: String の Range)

//emlist[例][ruby]{
(1..10).step(3) {|v| p v}
# => 1
# 4
# 7
# 10

("a".."f").step(2) {|v| p v}
# => "a"
# "c"
# "e"

(10..0).step...

Range#each -> Enumerator (120.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#reverse_each -> Enumerator (120.0)

逆順に各要素に対してブロックを評価します。

...合は、各要素を逆順に辿る
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#size -> Integer | Float::INFINITY | nil (120.0)

範囲内の要素数を返します。

...r が発生します。

@
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#===(obj) -> bool (68.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...
...て) Range#cover? と同様の処理をするように切り替わりました。

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

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

2.7 以降の === は、文字列も Range#cover...