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

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

instance method Generator#yield

yield(val) -> self[permalink][rdoc]

val をジェネレータに渡します。 Generator.new() {|g| ... } のブロックの中でしか呼ぶことができません。ジェネレータに渡された val は next などで取り出すことができます。

例:

g = Generator.new() do |g|
      n = 0
      loop do
        g.yield n
        n += 1
      end
    end
p g.next # => 0
p g.next # => 1
p g.next # => 2
g.rewind
p g.next # => 0