SkipTokens (StringTokenizer subroutine)

From m204wiki
Revision as of 19:54, 6 February 2011 by Wiccan (talk | contribs) (1 revision)
Jump to navigation Jump to search

Move current token forward a specified number of tokens (StringTokenizer class)

[Introduced in Sirius Mods 7.7]


This method moves the current token and tokenizing position forward in the tokenizer string the number of tokens specified in the method argument. Skipping one token is equivalent to executing NextToken; skipping three tokens is equivalent to executing NextToken three times consecutively.

If a token is found after advancing the designated number of tokens, the tokenizing position in the string is moved after the found token, and CurrentToken will return the found token. If the end of the string occurs before the specified number of tokens, the request is cancelled.

The SkipTokens subroutine is available as of version 7.7 of the Sirius Mods.

Syntax

stringTokenizer:SkipTokens( number) Throws MismatchedQuote, OutOfBounds

Syntax terms

%tok
A StringTokenizer object variable.
num
A numeric variable that is the number of tokens to skip. The value of num must be greater than 0 and less than the number of tokens remaining in the tokenizer string.

Usage notes

  • For a new StringTokenizer instance, issuing NextToken, SkipTokens, or FindToken is required before CurrentToken may be issued without error.

Examples

The following code fragment shows multiple SkipTokens calls. The second call follows a move of the tokenizing position to the middle of the initial token in the tokenizer string.

   begin
     %tok is object stringTokenizer
     %tok = new
     %tok:string = 'Here is the skipTokens example.'
     printText {~} = '{%tok:string}'
     %tok:skipTokens(3)
     printText {~} = {%tok:currentToken}
     printText {~} = {%tok:nextPosition}
     %tok:nextPosition = 3
     %tok:skipTokens(1)
     printText {~} = {%tok:currentToken}
     printText {~} = {%tok:nextPosition}
     %tok:skipTokens(4)
     printText {~} = {%tok:currentToken}
   end


The result is:

    %tok:string = 'Here is the skipTokens example.'
    %tok:currentToken = the
    %tok:nextPosition = 12
    %tok:currentToken = re
    %tok:nextPosition = 5
    %tok:currentToken = example.
    %tok:nextPosition = 32

See also