strLib.getNextToken() システム関数は、サブストリングでトークンを検索し、そのトークンをターゲット項目にコピーします。
トークン とは、区切り文字で区切られたストリングのことです。例えば、スペース (「 」) とコンマ (「,」) が区切り文字として定義されている場合、ストリング 「CALL PROGRAM ARG1,ARG2,ARG3」 は、「CALL」、「PROGRAM」、「ARG1」、「ARG2」、および 「ARG3」 という 5 つのトークンに分解できます。 関数は、ストリング内のトークンの位置を参照する索引値に基づいて、一度に 1 つのトークンを取り出します。
strLib.getNextToken() 関数は、多重定義されます。 したがって、パラメーターと戻り値の構成は異なるが、名前が同じである関数を呼び出すことができます。 以下の形式の関数が優先されます。
strLib.getNextToken(
source STRING | CHAR | DBCHAR | MBCHAR | UNICODE inOut,
index INT inOut,
delimiters STRING | CHAR | DBCHAR | MBCHAR | UNICODE in)
returns (token STRING? | CHAR? | DBCHAR? | MBCHAR? | UNICODE?)
以下のフォームは前のバージョンとの互換性に対して有効です。
strLib.getNextToken(
target CHAR | DBCHAR | MBCHAR | UNICODE inOut,
source CHAR | DBCHAR | MBCHAR | UNICODE in,
index INT inOut,
substringLength INT inOut,
delimiters STRING in)
returns (result INT)
この例では、プログラムは、i の更新された値を使用してストリング全体をループし、配列内にトークンを保存します。
commandLine string = "CALL PROG1 arg1,arg2";
delimiters string = " ,"; // space and comma delimiters
i int = 1;
max int;
tokens string[0];
token string? = "";
function main()
max = strLib.byteLen(commandLine);
// end processing when the getNextToken function returns a null
while(i < max && token != null)
token = StrLib.getNextToken(commandLine, i, delimiters);
if (token != null)
tokens.appendElement(token);
end
end
end
| プラットフォーム | 問題 |
|---|---|
| JavaScript 生成 | 関数 strLib.getNextToken() はサポートされていません。 |