while
および do
ループは、テスト式の評価が false
になるまで、実行を繰り返すために使用されます。while
ループと do
ループは、互いに簡単なバリアントです。
構文は次のようになります。
do <expr> while <expr>
while <expr> do <expr>
どちらのループでも、while <expr>
によって true
値に評価される間、do <expr>
が繰り返し実行されます。 do
形式は、do <expr>
を最低 1 回は実行し、各ループの最後にテスト式を評価します。while
形式は、各ループの始めにテスト式を評価するので、1 回もループしない場合があります。
いずれの形式も、最後に正しく実行したループ反復処理から do <expr>
の結果を値として返します。while
形式は、テスト式でただちに false
が返される場合、undefined
値を返します。
例:
while x > 0 do ( print x x -= 1 )
while not eof f do print (read_value f)
do ( exchanged=false for i=1 to imax do ( j=i+gap if (compare array[j] array[i]) do (swap array[j] array[i]; exchanged=true) ) ) while exchanged