FOR-NEXT¶
| 関数名 | 引数 | 戻り値 |
|---|---|---|
FOR | integerVariable, int, int(, int) | なし |
NEXT | なし | なし |
API
FOR integerVariable, startNum, endNum(, value)
FOR~NEXTはREPEAT~RENDの機能強化版です。第1引数はカウントに使用される変数を表します(
REPEATでは常にCOUNT:0)。第2引数は変数に最初に代入される値を表します(
REPEATでは常に0)。第3引数はループが終了される値を表します(
REPEATで設定可能な値)。第4引数はループごとに加算される値を表します(
REPEATでは常に1)。 FOR COUNT, 0, X
;~~
NEXT
REPEAT X
;~~
REND
上の二つはほぼ同じ動作をします。
ともにX回の繰り返しを行う構文で、ループの途中でCONTINUEやBREAKを使用できます。
異なる点はカウント用の変数を指定できることと、開始値とステップを変更できることです。
また、FOR~NEXTは入れ子にすることができます。
FOR Y, 0, 100
FOR X, 0, 100
~~
NEXT
NEXT
第1引数であるintegerVariableに指定できる変数は数値型の変数のみです。キャラクタ変数も使えません。
第4引数であるvalueは省略可能です。省略した場合、1です。
valueが正の値のとき、繰り返しのたびにintegerVariableの変数にvalueが加算され、第3引数endNum以上となったときにループが終了します。
valueが負の値のときは、ntegerVariableの変数がendNum以下となったときにループが終了します。
valueが0であれば無限ループになります。BREAK文が実行されるまで永久に繰り返します。
各値はループの開始と同時に固定され、ループの途中で変数が変化しても影響を受けません。
以下の2つは同じ結果になります。
;1
X = 10
FOR COUNT:X, 0, X, X/10
X = 10000
NEXT
;2
FOR COUNT:10, 0, 10, 10/10
X = 10000
NEXT
GOTO等の命令で直接FOR~NEXT内に入った場合、REPEAT~RENDと同様にNEXTの直前まで通常通り実行し、その後NEXTを無視して次の行から処理を続行します。 ヒント
命令のみ対応しています。