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 |