WHILE
LOOP
文は、条件がTRUE
の場合に1つ以上の文を実行します。条件がFALSE
またはNULL
になった場合、ループの内側の文によって制御がループの外側に移されたかまたは例外が呼び出された場合に、WHILE
LOOP
文は終了します。
ここでのトピック
セマンティクス
boolean_expression
値がTRUE
、FALSE
またはNULL
の式です。
boolean_expression
は、ループの各反復の先頭で評価されます。値がTRUE
の場合は、LOOP
の後の文が実行されます。それ以外の場合は、制御がWHILE
LOOP
文の後の文に移ります。
statement
無限ループが発生しないように、1つ以上の文によってboolean_expression
の値をFALSE
またはNULL
に変更するか、制御をループの外側に移すか、または例外を呼び出す必要があります。制御をループの外側に移すことができる文には次のものがあります。
「CONTINUE文」(外側のラベル付きループの次の反復に制御を移す場合)
label
while_loop_statement
を識別するラベル(「statement ::=」と「label」を参照)。CONTINUE
、EXIT
およびGOTO
文でこのラベルを参照できます。
LOOP
文がネストされている場合は特に、ラベルによって読みやすさが向上します。ただし、END
LOOP
文内のラベルが、同じLOOP
文の先頭のラベルと一致している場合のみです(コンパイラではチェックしません)。