SEWB+/CONSTRUCTION アプリケーション開発ガイド

[目次][用語][索引][前へ][次へ]

7.1.5 配列の記述規則

可変記号を配列として参照するとき,次の書き方に従って記述します。

可変記号[添字[,添字]…]

配列は値の集合を格納するときに使う変数(可変記号)です。配列は連想配列方式(associative array)です。配列の特定の値を参照するときに添字として,数値,文字列,または可変記号が使えます。

添字の指定はキーワード(文字列)で設定する方法(キーワード指定)と,数値で指定する方法(位置指定)の2通りがあります。

<この項の構成>
(1) キーワード指定
(2) 位置指定
(3) 配列の規則
(4) 配列の添字の規則

(1) キーワード指定

添字にキーワード(文字列)で指定します。

(例)
@@set  @item = {name="KEY001", pic="X(4)"};
とすると,@itemは次のように参照される。
@item[name]          …KEY001
@item[pic]           …X(4)
また,次のように,添字に可変記号を使用することもできる。

(例1)1から3の順に設定されていった場合
1  @@set @TEST[a]=1;    …添字「a」の値は「1」
2  @@set @TEST[b]=2;    …添字「b」の値は「2」
3  @@set @i="a";
このとき,@TEST[@i]は1となる。(@TEST[@i]は@TEST[a]のため)

(例2)
@@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の内容が配列では
                     ないので構文エラーになる)

(2) 位置指定

{ }内に値を「,」で区切って並べると,一度に配列の値が設定できます。{ }内に値だけを並べた場合,その順番が配列の添字(1からの数字)になります。

(例)
@@set @Ar1={"a01","a02","a03"};
このとき
@Ar1[1]      …a01
@Ar1[2]      …a02
@Ar1[3]      …a03
@Ar1[4]      …値が設定されていないためエラーになる

(3) 配列の規則

(誤りの例)
MOVE  @Ar1  [1]    …可変記号と配列指定の間に空白がある。

(4) 配列の添字の規則

配列の添字は次の三つのうちのどれかでなければなりません。