SkipTokens (StringTokenizer subroutine)

From m204wiki
Revision as of 23:04, 14 November 2012 by JAL (talk | contribs) (→‎Examples)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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.


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.


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