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
を無視して次の行から処理を続行します。 ヒント
命令のみ対応しています。