このマニュアルは既にメンテナンスが終了したバージョンの Ruby を対象としています。 最新版のマニュアルへ

Ruby 1.8.7 リファレンスマニュアル

class SyncEnumerator

要約

複数の Enumerable オブジェクトを並行して yield するためのクラスです。

例:

require 'generator'

s = SyncEnumerator.new([1,2,3], ['a', 'b', 'c'])

# Yields [1, 'a'], [2, 'b'], and [3,'c']
s.each { |row| puts row.join(', ') }

目次

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

継承しているメソッド

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

特異メソッド

new(*enums) -> SyncEnumerator[permalink][rdoc]

SyncEnumerator オブジェクトを生成します。

複数の Enumerable オブジェクトを与えます。 Enumerable オブジェクトのサイズは異なっていても構いません。

インスタンスメソッド

each {|elem| ... } -> self[permalink][rdoc]

与えられた Enumerable オブジェクトのそれぞれの要素の配列を引数としてブロックを評価します。self を返します。

要素がある Enumerable オブジェクトがひとつでもあれば、評価を続けます。要素のなくなった Enumerable オブジェクトの代わりに nil を配列の要素とします。全ての Enumerable オブジェクトの要素がなくなるとそこで、ブロックの評価を止めます。

例:

s = SyncEnumerator.new([1, 2, 3], ['a', 'b'], ['X'])
s.each{|arry| p arry}

# => 結果
# [1, "a", "X"]
# [2, "b", nil]
# [3, nil, nil]
end?(i = nil) -> bool[permalink][rdoc]

SyncEnumerator が終わりに達している場合は真を返します。

i を与えた場合は、i 番目の Enumerable オブジェクトが終わりに達している場合、真を返します。

length -> Integer[permalink][rdoc]
size -> Integer

与えられた Enumerable オブジェクトの数を返します。