NEXT - [制御] |
||||||
… 繰り返し処理に戻る
NEXT
FOR文に指定した条件が満たされている間、FOR文からNEXT文の間の処理を、繰り返します。
GOTO文などでFOR〜NEXTループを抜けると、内部処理(スタック処理)に異常が発生し、動作不具合の原因となります。
FORループの途中でループを抜ける場合は、カウンタ変数の値を終了値(TOの後に指定した値)に設定するなどの方法を利用してください(サンプル 2を参照)。
マルチステートメントでは使用できません。動作の不具合が発生します。
FOR〜NEXT間には、何らかの処理を記述する必要があります。処理を記述しないと、不具合が発生する可能性があります。
(サンプル 1)
REM 944BASIC 'FOR NEXT サンプル'
COLORBG 0,0,0:COLORFG 0,255,0
FONT 48:CLS
REM 入れ子(ネスト)も可能
FOR I=0 TO 31
A=''
FOR J=0 TO 59
REM RNDだけでは、乱数の順番が固定されるので、TIMEを足して、より不規則化する
R=RND+TIME%10:R=STR(R)
A=STRCAT(A,R)
NEXT J
PRINT A
NEXT I
KEYWAIT
(サンプル 2)
REM 944BASIC 'FOR NEXT サンプル2'
REM ランダムシード - RNDを不定回数繰り返して、より不規則化する
FOR I=(TIME%60)
R=RND
NEXT I
R=RND+TIME%20
FOR I=1 TO 20
PRINT 'FOR 〜 NEXT ';
PRINT I;
PRINT ' 回目'
REM 変数 I を強制的に終了値にして、ループを抜ける
IF I=R THEN PRINT 'STOP': I=20
NEXT I
KEYWAIT
END
NEXT - [制御] |