るりまサーチ

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

ライブラリ

キーワード

検索結果

<< 1 2 3 ... > >>

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

範囲内の要素を s おきに繰り返す [c:Enumerator] を返します。 ブロックを指定しない [m:Range#step] と同じです。

...い [m:Range#step] と同じです。

- **param** `s` -- [m:Range#step] の s と同じです。
- **return** -- 数値の Range の時は [c:Enumerator::ArithmeticSequence] を返します。
- **return** -- その他の Range の時は [c:Enumerator] を返します。(例: String の Range)

```...
...ruby title="例"
p ((1..10) % 3).to_a # => [1, 4, 7, 10]
p (("a".."f") % 2).to_a # => ["a", "c", "e"]
```

- **SEE** [m:Range#step]...

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

範囲内の要素を s おきに繰り返す [c:Enumerator] を返します。 ブロックを指定しない [m:Range#step] と同じです。

...い [m:Range#step] と同じです。

- **param** `s` -- [m:Range#step] の s と同じです。
- **return** -- 数値の Range の時は [c:Enumerator::ArithmeticSequence] を返します。
- **return** -- その他の Range の時は [c:Enumerator] を返します。(例: String の Range)

```...
...ruby title="例"
p ((1..10) % 3).to_a # => [1, 4, 7, 10]
p (("a".."f") % 2).to_a # => ["a", "c", "e"]
```

- **SEE** [m:Range#step]...

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

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

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

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

```ruby title="例"
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 (1.0)

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

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

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

```ruby title="例"
p (0...50) === 79 # => false
p (60...80) === 79 # => true

case 79
when 0...60 then...
...、単純に [m:Range#include?] メソッドを内部で呼んでいました。

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

ただし、=== は、[m:Range#cover?] のように Range オブジェクト...
...2.5 までは、=== は、include? と同じく比較できず false を返していました。
```

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

```ruby title="例"
p ('a'..'z').include? 'at' # => false
p ('a'..'z').cover? 'at...

Range#as_json(*args) -> Hash (1.0)

{: since="1.9.3"}

...since="1.9.3"}

`self` を JSON 形式の文字列に変換する際に使う、中間表現となるハッシュに変換して返します。
[m:Range#to_json] が内部で使用しています。

ハッシュには、[m:JSON.create_id] をキーとしてクラス名が、`'a'` に
始端・終...
...列(`[first, last, exclude_end?]`)が入ります。

- **param** `args` -- 無視されます。

```ruby title="例"
require 'json/add/range'

hash = (1..5).as_json
p hash['json_class'] # => "Range"
p hash['a'] # => [1, 5, false]
```

- **SEE** [m:Range#to_json], [m:Range.json_create]...

絞り込み条件を変える

Range#begin -> object (1.0)

始端の要素を返します。 始端を持たない範囲オブジェクトの場合、nil を返します。

...の要素を返します。
始端を持たない範囲オブジェクトの場合、nil を返します。

```ruby title="例"
# 始端を持つ場合
p (1..5).begin # => 1
p (1..0).begin # => 1

# 始端を持たない場合
p (..5).begin # => nil
```

- **SEE** [m:Range#end], [m:Range#first]...

Range#bsearch -> Enumerator (1.0)

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

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

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

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

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

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

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

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

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

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

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

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

- 求める値がブロックパラメータの値か前の要素の場合: true を返す
- 求める値がブロックパラメータより後の要素の場合: fa...
<< 1 2 3 ... > >>