generator.rb: convert an internal iterator to an external one

Copyright © 2001,2003 Akinori MUSHA <>

All rights reserved. You can redistribute and/or modify it under the same terms as Ruby.


This library provides the Generator class, which converts an internal iterator (i.e. an Enumerable object) to an external iterator. In that form, you can roll many iterators independently.

The SyncEnumerator class, which is implemented using Generator, makes it easy to roll many Enumerable objects synchronously.

See the respective classes for examples of usage.