LOOP
[loop.statements]
[CONTINUE | EXIT]
[{WHILE | UNTIL} expression [DO] ]
[loop.statements]
[CONTINUE | EXIT]
REPEAT
LOOP ステートメントは、LOOP...REPEAT のプログラム・ループを起動します。 プログラム・ループとは、指定される反復回数で、または指定される条件が満たされるまで実行される、一連の文のことです。
WHILE 節は、WHILE 式が真 (1) に評価される限りループを繰り返して実行することを指示します。WHILE 式が偽 (0) に評価されると、ループの反復は停止して、プログラムの実行は REPEAT ステートメントに続くステートメントに移ります。
UNTIL 節は、LOOP ステートメントに対抗条件を設定します。 UNTIL 節は、UNTIL 式が偽 (0) に評価される限りループを繰り返して実行することを指定します。UNTIL 式が真 (1) に評価されると、ループの反復は停止して、プログラムの実行は REPEAT ステートメントに続くステートメントに移ります。
WHILE または UNTIL 式が NULL 値として評価される場合、条件は偽となります。
expression には、条件ステートメントを含めることもできます。THEN 節または ELSE 節を指定したステートメントは、expression として使用できますが、THEN 節や ELSE 節がないステートメントは使用できません。条件ステートメントが ELSE 節を実行する場合、expression は偽と評価されます。 条件ステートメントが THEN 節を実行する場合、expression は真と評価されます。 LOCKED 節は、このコンテキストではサポートされません。
LOOP...REPEAT ループでは複数の WHILE 節および UNTIL 節を使用できます。LOOP...REPEAT ループをネスト構造にすることも可能です。前に LOOP ステートメントがないのに REPEAT ステートメントが検出されると、コンパイル時にエラーとなります。
CONTINUE ステートメントを LOOP...REPEAT 内で使用すると、制御をループ内の任意のポイントから次の反復ループに転送できます。
LOOP...REPEAT 内で EXIT ステートメントを使用すると、ループ内の任意のポイントでループが終了します。
条件を表す WHILE および UNTIL 文以外の手段でループを終了することも可能ですが (GOTO または GOSUB を DO 文で使用するなど)、この方法は避けてください。このようなプログラミング技法は、良好な構造化プログラミングの実践手段には合致していません。
X= 0
X= 1
X= 2
X= 3
X= 4
A= 20
A= 19
A= 18
A= 17
A= 16
Q= 3
Q= 2
Q= 1
Q= 0
5 record(s)
selected to
SELECT list #0.
LOOP
HASH.TEST
QUIT.KEY
P
CLEAR.LOCKS
5 record(s)
selected to
SELECT list #0.
LOOP
HASH.TEST
QUIT.KEY
P
CLEAR.LOCKS