条件が True の間、ステートメントを繰り返し実行します。初期化ステートメントを実行します。ステートメントを実行する前に条件を調べ、ステートメントを実行した後に加算ステートメントを実行します。
@For( initialize ; condition ; increment ; statement ; ... )
initialize
condition の変数に初期値を代入するステートメントです。
condition
True (1) または False (0) の値を返す式です。
increment
初期化された変数を変更する (通常は増やす) ステートメントです。
statement
式言語ステートメントです。最大 252 個のステートメントを記述できます。
true
実行中にエラーが発生しなければ True (1) が返されます。条件式の値が数値以外のときは、「予期しないデータ型」エラーが発生します。
初期化ステートメントが 1 回実行されます。次に、条件が評価されます。条件が True (1) のときは、ステートメントが実行され、加算ステートメントが実行され、条件が再び評価されます。条件が False (0) のときは、@For は終了します。
この繰り返し処理に要した時間が、1 操作当たりの許可された標準タイムアウト値を超えたときは、式エンジンによって式が終了するか、無限ループが中止されます。
@For(n := 1;
n <= @Elements(Categories);
n := n + 1;
@Prompt([OK]; "Category " + @Text(n); Categories[n]))
@For(n :=1; n<=@Elements(fname); n:= n + 1;
full := @If(n=1;fname[n] + " " + lname[n];full : (fname[n] + " " + lname[n])));
full
[fname] フィールドの内容が "Catherine":"Patricia":"Maureen"、[lname] フィールドの内容が "Rolling":"Kearns":"Legacy" の場合、結果は "Catherine Rolling;Patricia Kearns;Maureen Legacy" です。[fname] フィールド内の要素数と [lname] フィールド内の要素数が異なる場合は、@Elements 関数には必ず要素数が少ない方のフィールドを含めるようにしてください。そうしないと、結果的に「配列インデックスの越境」エラーが発生します。
temp := "";
@For(n := 1; n <= @Elements(poets); n := n + 1;
@If(@Length(poets[n])>@Length(temp);
temp := poets[n];temp));
temp