type=class
superclass=Object
included=Enumerable
extended=
library=generator
aliases=
aliasof=

内部イテレータを外部イテレータに変えるためのクラスです。
実装に callcc を使っているので遅いです。

 * [[c:SyncEnumerator]]

例:

  require 'generator'
  
  # Generator from an Enumerable object
  g = Generator.new(['A', 'B', 'C', 'Z'])
  
  while g.next?
    puts g.next
  end
  
  # Generator from a block
  g = Generator.new { |g|
    for i in 'A'..'C'
      g.yield i
    end
  
    g.yield 'Z'
  }
  
  # The same result as above
  while g.next?
    puts g.next
  end
