Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Enumerator::Yielderクラス > yield
yield(*object) -> ()
[permalink][rdoc]Enumerator.new で使うメソッドです。
生成された Enumerator オブジェクトの each メソッドを呼ぶと Enumerator::Yielder オブジェクトが渡されたブロックが実行され、ブロック内の yield メソッドが呼ばれるたびに each に渡されたブロックが yield メソッドに渡された値とともに繰り返されます。
enum = Enumerator.new do |y|
y.yield 1, 2, 3
end
enum.each do |x, y, z|
p [x, y, z]
end
# => [1, 2, 3]