配列関数
このセクションでは、指定した配列についての情報を返す関数について簡単に説明します。
関数 | 動作 |
---|---|
arraytostring | 配列データ、開始パターン、終了パターン、および区切り文字を指定すると、文字列を返します。 |
elementcount | 配列内の、NULL や空ではない要素の数を返します。 |
nextelement | 配列に対して配列フィールドと索引を指定すると、空ではなく NULL でもない次の項目を返します。使用可能な項目がない場合は 0 (ゼロ) を返します。 |
elementcount
配列内の、NULL や空ではない要素の数 (整数) を返します。sizeof (<array_field>) では配列の現在のサイズを返しますが、一部の要素は、配列内の空の項目または NULL の項目であることがあります。添付配列の場合、添付なしは空と見なされます。
elementcount(array_field)
ここで、 array_field は、ソース・データを含むデータ・フィールドです。次に例を示します。
A = ("", , "", "alpha", ,"") => elementcount(A) = 1; sizeof (A) = 6
B = (0 , , 0 , 100 , , 0) => elementcount(B) = 4; sizeof (B) = 6
空の文字列は文字列配列ではカウントされませんが、数値配列ではすべての数値がカウントされます。すなわち、空の数値はありません。
この関数は、参加者配列および添付配列を処理する場合に役立ちます。
nextelement
配列フィールドと配列に対する索引を指定すると、この関数は、次の空ではない非 NULL 項目を返します。使用できる項目がない場合は 0 (ゼロ) を返します。整数式が 0 (ゼロ) の場合は、最初の空ではない非 NULL エレメントを返します。
nextelement(array_field, index_expr)
ここでパラメーター | 説明 |
---|---|
array_field | ソース・データを含むデータ・フィールドです。 |
index_expr | 検索を開始するときに使用する索引です。0 (ゼロ) の場合、検索は配列の先頭から開始されます。 |
例えば、次の配列を使用するとします。
A = ("", , "", "alpha",,"") B =(0 , , 0 , 100 , , 0)
nextelement (A, 0) = 4
nextelement (A, 4) = 0
nextelement (B, 0) = 1
nextelement (B, 1) = 3
nextelement (B, 3) = 4
nextelement (B, 4) = 6
nextelement (B, 6) = 0
注: Process の配列索引は 1 から始まりますが、空でも NULL でもない最初の要素を検索する場合は、索引 0 (ゼロ) が使用されます。
この関数は、参加者配列および添付配列を処理する場合に役立ちます。
arraytostring
この関数は配列データを文字列に変換します。
arraytostring(array_field, begin_expr, end_expr, separator_expr)
ここでパラメーター | 説明 |
---|---|
array_field | ソース・データを含むデータ・フィールドです。 |
begin_expr | 配列の先頭をマークするテキスト文字列です。 |
end_expr | 配列の終わりをマークするテキスト文字列です。 |
separator_expr | 配列内の要素を区切る場合に使用するテキスト文字列です。 |
例えば、内容が {1,2,3} であるデータ・フィールド MyStringArray で文字列データを返すには、次のコマンドを使用します。
- arraytostring(MyStringArray, "{ ", " }", ",") returns { 1,2,3 }
MyXMLField 内にある XML スキーマのデータ・フィールドの配列から文字列を返すには、次の関数を使用します。
arraytostring(MyXMLField, ("<tag><value>", "</value></tag>", "</value><value>")
