From: Vahagn Hayrapetyan Date: 2011-04-13T20:25:33+09:00 Subject: Re: Calling to_enum on a MatchData object 7stud -- wrote in post #991942: > Here's how you can use an enumerator to create an infinite array--from > which you can print out finite chunks: > > e = Enumerator.new do |y| > (0..9).cycle do |num| > y << num > end > end > > > p e.take(15) > > --output:-- > [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4] I just tried out (0..9).cycle {|n| puts n} in an irb session and had to Ctrl+C it to stop the loop. However when wrapped in a Enumerator like your example above, just an Enumerator::Generator object is returned. What happens to the infinite loop - does it still crunch the numbers out in the background or does it "stop" at some point? I looked at puts e.methods.sort but they aren't very revealing of what's going on with the loop... -- Posted via http://www.ruby-forum.com/.