可変記号を配列として参照するとき,次の書き方に従って記述します。
可変記号[添字[,添字]…]
配列は値の集合を格納するときに使う変数(可変記号)です。配列は連想配列方式(associative array)です。配列の特定の値を参照するときに添字として,数値,文字列,または可変記号が使えます。
添字の指定はキーワード(文字列)で設定する方法(キーワード指定)と,数値で指定する方法(位置指定)の2とおりがあります。
添字にキーワード(文字列)で指定します。
@@set @item = {name="KEY001", pic="X(4)"};
とすると,@itemは次のように参照される。
@item[name] …KEY001
@item[pic] …X(4)
1 @@set @TEST[a]=1; …添字「a」の値は「1」
2 @@set @TEST[b]=2; …添字「b」の値は「2」
3 @@set @i="a";
@@set @WORKS={
{level=1,name="ITM001"},
{level=2,name="ITM002",pic="X(4)"},
{level=2,name="ITM003",pic="9(4)"}
};
@@set @C = @WORKS[2]; … @Cには
{level=2,name="ITM002"
,pic="X(4)"}が設定され
る。
@@set @D = @WORKS[3,name]; … @DにはITM003が設定さ
れる。
このとき,可変記号には次の値が設定されている。
@@count[@WORKS] …3(@@countは配列の要素数を取り出
す関数)
@WORKS[1,name] …ITM001
@WORKS[2,name] …ITM002
@WORKS[2,pic] …X(4)
@WORKS[3,name] …ITM003
@WORKS[3,pic] …9(4)
@C[name] …ITM002
@C[pic] …X(4)
@D[1] …エラー(可変記号Dの内容が配列では
ないので構文エラーになる)
{ }内に値を「,」で区切って並べると,一度に配列の値が設定できます。{ }内に値だけを並べた場合,その順番が配列の添字(1からの数字)になります。
@@set @Ar1={"a01","a02","a03"};
このとき
@Ar1[1] …a01
@Ar1[2] …a02
@Ar1[3] …a03
@Ar1[4] …値が設定されていないためエラーになる
MOVE @Ar1 [1] …可変記号と配列指定の間に空白がある。
配列の添字は次の三つのうちのどれかを使用できます。