class Raabro::Input

def at(i)

def at(i)
  @string[i, 1]
end

def initialize(string, offset=0, options={})

def initialize(string, offset=0, options={})
  @string = string
  @offset = offset.is_a?(Hash) ? 0 : offset
  @options = offset.is_a?(Hash) ? offset : options
end

def match(str_or_regex)

def match(str_or_regex)
  if str_or_regex.is_a?(Regexp)
    m = @string[@offset..-1].match(str_or_regex)
    m && (m.offset(0).first == 0) ? m[0].length : false
  else # String or whatever responds to #to_s
    s = str_or_regex.to_s
    l = s.length
    @string[@offset, l] == s ? l : false
  end
end

def tring(l=-1)

def tring(l=-1)
  l < 0 ? @string[@offset..l] : @string[@offset, l]
end