Go to the first, previous, next, last section, table of contents.

do-while

doループはwhileループ文の変種です。doループはbodyを一度実行し、conditionが真の間、bodyを繰り返します。これは次のようになります。

do
  body
while (condition)

開始時にconditionが偽であったとしても、bodyは少なくとも1回は実行されます(bodyの実行によりconditionが真にならない場合は、1回だけ)。これに対応するwhile文を見てみましょう。

while (Ccondition)
  body

この文は、開始時にconditionが偽の場合は、bodyを一度も実行しません。

do文の例を次に示します。

awk '{ i = 1
       do {
          print $0
          i++
       } while (i <= 10)
}'

これは、各入力レコードを10回表示します。しかし、これはあまり良い例ではありません。なぜなら、この場合、通常のwhileでもまったく同じように実現できるからです。しかし、これは実際の体験を物語っています。つまり、do文が実際に使われるのはまれにしかないということです。


Go to the first, previous, next, last section, table of contents.