class Sequence::Enum
Public Class Methods
new(enum=nil,&block)
click to toggle source
# File lib/sequence/enum.rb, line 64 def initialize(enum=nil,&block) @gen=Generator.new(enum,&block) end
Public Instance Methods
begin!()
click to toggle source
# File lib/sequence/enum.rb, line 70 def begin!; @gen.rewind; 0 end
each(&block)
click to toggle source
# File lib/sequence/enum.rb, line 72 def each &block @gen.dup.each &block end
eof?()
click to toggle source
# File lib/sequence/enum.rb, line 68 def eof?; @gen.end? end
pos()
click to toggle source
# File lib/sequence/enum.rb, line 69 def pos; @gen.index end
read(len)
click to toggle source
# File lib/sequence/enum.rb, line 76 def read len return [] if len.zero? or eof? result=[] begin len.times{ result<<@gen.next } rescue EOFError: end return result end def readahead1 @gen.current rescue EOFError: return nil end def read1 @gen.next rescue EOFError: return nil end alias size pos %w[pos= _pos= scan scan_until write [] []= holding holding? holding! position ].each{|mname| undef_method mname} end
read1()
click to toggle source
# File lib/sequence/enum.rb, line 93 def read1 @gen.next rescue EOFError: return nil end
readahead1()
click to toggle source
# File lib/sequence/enum.rb, line 87 def readahead1 @gen.current rescue EOFError: return nil end