SkipTokens (StringTokenizer subroutine)
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
stringTokenizer | A StringTokenizer object expression. |
---|---|
number | A numeric variable that is the number of tokens to skip. The value of number 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