def unscan
      raise ScanError, 'unscan failed: previous match record not exist' if @history.empty?
      previous = @history[0..-2]
      reset
      previous.each { |r| track_result(*r) }
      self
    end
def unscan
      raise ScanError, 'unscan failed: previous match record not exist' if @history.empty?
      previous = @history[0..-2]
      reset
      previous.each { |r| track_result(*r) }
      self
    end
Reverts the last operation that advanced the position.

 Operations advancing the position: {#terminate}, {#scan}, {#scan_until}, {#getch}.
 @return [Mustermann::StringScanner] the scanner itself