コンテンツにスキップ

FOR-NEXT

関数名 引数 戻り値
FOR integerVariable, int, int(, int) なし
NEXT なし なし

API

FOR integerVariable, startNum, endNum(, value)
FOR~NEXTREPEAT~RENDの機能強化版です。
第1引数はカウントに使用される変数を表します(REPEATでは常にCOUNT:0)。
第2引数は変数に最初に代入される値を表します(REPEATでは常に0)。
第3引数はループが終了される値を表します(REPEATで設定可能な値)。
第4引数はループごとに加算される値を表します(REPEATでは常に1)。

FOR COUNT, 0, X  
    ;~~  
NEXT  
REPEAT X  
    ;~~  
REND  

上の二つはほぼ同じ動作をします。
ともにX回の繰り返しを行う構文で、ループの途中でCONTINUEBREAKを使用できます。
異なる点はカウント用の変数を指定できることと、開始値とステップを変更できることです。
また、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を無視して次の行から処理を続行します。

ヒント

命令のみ対応しています。