class Enumerator::Chain

[edit]

要約

複数の繰り返し可能なオブジェクトを1つの Enumerator として扱うためのクラス。

Enumerator::Chain のオブジェクトは、Enumerable#chainEnumerator#+ から作られます。

目次

特異メソッド
インスタンスメソッド

継承しているメソッド

Enumeratorから継承しているメソッド
Enumerableから継承しているメソッド

特異メソッド

new(*enums) -> Enumerator::Chain[permalink][rdoc][edit]

複数の Enumerable から、1つの新しい Enumerator を作って返します。



e = Enumerator::Chain.new(1..3, [4, 5])
e.to_a #=> [1, 2, 3, 4, 5]
e.size #=> 5

インスタンスメソッド

each(*args) { |*args| ...} -> object[permalink][rdoc][edit]
each(*args) -> Enumerator

まず最初の繰り返し可能なオブジェクトの each メソッドを args 引数とともに呼び出した後、続く繰り返し可能なオブジェクトも同様に呼び出します。

ブロックが渡されない場合は Enumerator を返します。

inspect -> String[permalink][rdoc][edit]

self を人間が読みやすい形式で文字列として返します。

rewind -> object[permalink][rdoc][edit]

列挙状態を巻き戻します。

self が持つ繰り返し可能なオブジェクトに対して、逆順で rewind メソッドを呼びます。ただし rewind メソッドを持たないオブジェクトに対しては rewind メソッドを呼びません。

size -> Integer | Float::INFINITY | nil[permalink][rdoc][edit]

合計の要素数を返します。

それぞれの列挙可能なオブジェクトのサイズの合計値を返します。ただし、列挙可能なオブジェクトが1つでも nil か Float::INFINITY を返した場合、それを合計の要素数として返します。