WHILE-WEND

WHILE文では、条件式がTRUEの間繰り返し処理を行います。FOR文とは違い繰り返す回数がわからないときWHILE文を使います。条件式が成り立たない場合は一度も実行されずに終了します。ループ内で条件式の変数を変える、もしくはBREAK文を記述しないと無限ループとなるので注意が必要です。

WHILE文は前判定でループに入る前に条件式の確認を行うので、FALSEの場合ループ内の処理が一度も実行されずに処理が進みます。ループ内の処理を必ず一度は実行したい場合は、後判定のREPEAT文を使います。

条件式の書き方はIFを参考にしてください。

構文
WHILE 式
処理
WEND
引数
戻り値

WHILE文の使い方

FOR文と違いループ内で条件式の変数を書き換えないと無限ループになるので注意。

WHILE文では、ループ変数を使う場合は自分で用意する必要があります。

またFOR文のSTEPにあたる処理もWHILE文にはないので、自分でループ変数の値を書き換える必要があります。

FOR i = 1 TO 5
	PRINT i + “回目の処理です。”
NEXT
DIM i = 1
WHILE i <= 5
	PRINT i + “回目の処理です。”
	i = i + 1
WEND

PRINT “WHILE文を抜けました。”
結果
1回目の処理です。
2回目の処理です。
3回目の処理です。
4回目の処理です。
5回目の処理です。
WHILE文を抜けました。

無限ループ

WHILE文の条件に「TRUE」を指定すると、無限ループになります。

WHILE TRUE
	処理
WEND

この場合BREAKなどでループを抜ける処理を書く必要があります。

関連記事

FOR-TO-NEXT
条件が真の間、処理を繰り返し実行します。途中でループを抜けたいときはBREAK文を使います。
REPEAT-UNTIL
REPEAT文では、条件式がTRUEになるまで処理を行います。WHILE文と同様処理を繰り返す回数がわからないときREPEAT文を使います。ループ内で条件式の変数の値を変えないと無限ループとなるので注意が必要です。 REPEAT文は後判定でループ内の処理を実行してから条件式の確認を行うので、最低一度は処理が実行されます。
FOR-IN-NEXT
配列やコレクションなどのグループの各要素に対して繰り返し処理を行います。