Genlib is a project mainly written in Ruby, it's free.
Simple DSL for creating Python like generators in Ruby
== genlib
genlib is a very simple library (actually a dsl ) which aim is to make the process of making generators very easy. The idea was to have a simple interface like Python's yield generator interface.
You define a generator like :
require 'genlib'
generator :read_array do |obj| (1..10).each do |e| obj._yield e end end
And you then can use it like a regular iterator
for elem in generator(:read_array) puts "The element is : #{elem}" end
For more examples check the test directory.