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