Class: Sequence::UseData

Inherits:
Sequence show all
Defined in:
lib/sequence/usedata.rb

Overview

define #read in terms of #data and @pos. #data must support #[]

Direct Known Subclasses

Indexed, Position

Constant Summary

Constants inherited from Sequence

SubSequence, VERSION

Instance Method Summary collapse

Instance Method Details

#read(len) ⇒ Object



9
10
11
12
13
# File 'lib/sequence/usedata.rb', line 9

def read(len)
  result=readahead(len)
  @pos+=result.size
  result
end

#readahead(len) ⇒ Object



21
22
23
# File 'lib/sequence/usedata.rb', line 21

def readahead(len)
  @data[@pos,len] 
end

#readback(len) ⇒ Object



15
16
17
18
19
# File 'lib/sequence/usedata.rb', line 15

def readback(len)
  result=readbehind(len)
  @pos-=result.size
  result
end

#readbehind(len) ⇒ Object



25
26
27
28
# File 'lib/sequence/usedata.rb', line 25

def readbehind(len)
  len>@pos and len=@pos
  @data[@pos-len,len] 
end

#sizeObject



31
# File 'lib/sequence/usedata.rb', line 31

def size; data.size end