「配列」は、変数と同様にタスクが実行されるたびに変化する可能性のあるタスクのデータを表現するための機能であり、特に関連した複数の要素を操作する繰り返し処理などで使用されます。
変数と配列の違いは、配列は複数の行と、オプションで複数の列のデータを含むことができるという点にあります。
例えば100個の要素を取得する場合に、変数ではnumber0, number1, ... and number99のように100個分の変数を宣言しておく必要があるのに対して、配列では「number」のような1つの配列変数を宣言し、 number[0], number[1], ... , numbers[99]のように配列内の何番目にあたる要素か(インデックス)を指定して使用することができます。つまり同じ型の変数の集合が配列です。
使用するデータによって、AutoMateでは1次元~3次元配列までを指定出来ます。
例えばある大本のデータから「顧客データ」を取得する場合を考えます。顧客が10人の場合、まず配列に指定する要素として10行必要になることがわかります。
この「顧客データ」に含まれている要素が「担当者名」だけの場合は、「担当者名」を表す1列のみ備えればよいため「複数行」×「1列のみ」のデータとなります。この場合は1次元配列を使用することで取得データを表せます。
一方で取得するデータが「姓」「名」「会社名」で構成されている場合は、その要素を表すためには3列必要となり、「複数行」×「複数の列」となります。この場合取得したデータを表すには2次元配列を使用する必要があります。
配列のすべての項目には番号が付けられており、その番号を指定することで配列内の特定の項目にアクセスできます。
例えば、1次元配列「arrayName」で3行目の要素を取得したい場合は、以下のように指定します。
%arrayName(3)%
また、2次元配列「arrayName」の2行目10列目の要素を指定する場合は、以下のように指定します。
%arrayName(2,10)%
配列を使用する場合は、予め「配列 - 作成」アクションで配列を作成します。
値をセットする場合は「配列 - セット」または「変数 - セット」アクションを使用します。
【サンプル】
<AMARRAY NAME="myarray" TYPE="TEXT" ROWS="3" />
<AMVARIABLE ACTIVITY="set" VARIABLENAME="myarray(1)" VALUE="Red" />
<AMVARIABLE ACTIVITY="set" VARIABLENAME="myarray(2)" VALUE="Blue" />
<AMVARIABLE ACTIVITY="set" VARIABLENAME="myarray(3)" VALUE="Green" />
<AMSHOWDIALOG>%myarray(1)%; %myarray(2)%; %myarray(3)%</AMSHOWDIALOG>