In Files

  • generator.rb

Parent

Methods

Class/Module Index [+]

Quicksearch

Enumerable::Enumerator

Public Instance Methods

next => object click to toggle source

Returns the next object in the enumerator, and move the internal position forward. When the position reached at the end, internal position is rewinded then StopIteration is raised.

Note that enumeration sequence by next method does not affect other non-external enumeration methods, unless underlying iteration methods itself has side-effect, e.g. IO#each_line.

Caution: This feature internally uses Generator, which uses callcc to stop and resume enumeration to fetch each value. Use with care and be aware of the performance loss.

 
               # File generator.rb, line 188
def next
  g = __generator
  return g.next unless g.end?

  g.rewind
  raise StopIteration, 'iteration reached at end' 
end
            
rewind => e click to toggle source

Rewinds the enumeration sequence by the next method.

 
               # File generator.rb, line 200
def rewind
  __generator.rewind
  self
end