From: James Edward Gray II Date: 2009-10-04T00:44:46+09:00 Subject: Re: Backporting Enumerator.new { ... } to Ruby 1.8.7 On Oct 3, 2009, at 9:46 AM, James Edward Gray II wrote: > Or with a closure: > > #!/usr/bin/env ruby -wKU > > def fibonacci > n2 = n1 = nil > lambda { > if n2.nil? > n2 = 0 > elsif n1.nil? > n1 = 1 > else > n2, n1 = n1, n2 + n1 > n1 > end > } > end > > fib = fibonacci > p Array.new(10) { fib.call } I forgot to mention, there are some other good resources for code like this: http://moonbase.rydia.net/software/lazy.rb/ http://blog.grayproductions.net/articles/infinite_streams James Edward Gray II