print "繰り返す回数を入力してください\n";
$count = <STDIN>;
chomp($count);
$re = 0;
until ($re == $count) {
print "$re回目です\r";
$re++;
}
print "ループを終了しました";
until ($re == $count) { の部分だけを改良しています
このwhileとuntilで作った上二つのプログラムの結果はまったく同じです
どちらを選ぶかは状況によってプログラマが的確に判断してください
もう一度まとめてみましょう
whileは条件式が真の間繰り返します
untilは条件式が真になるまで繰り返します
おわかりいただけたでしょうか?
実際に何度もプログラムを書いてみれば、理解できると思います
do制御
whileとuntilが理解できたら、今度はdoによる制御も覚えましょう
doステートメントはwhileかuntilとワンセットで用いる便利なステートメントです
whileやuntilステートメントによる繰り返しプログラムは、条件によっては一度も実行されないことがあります
たとえ条件が合っていようがなかろうが、1度は実行してほしいプログラムも考えられます
そのような時にdoステートメントを使います
doはこれまでのwhileやuntilの書式をひっくり返して書きます
do {
繰り返すステートメント;
} 「while か until」 (条件式);
このようにして、doステートメントの場合は繰り返すステートメントを一度実行してから判定します
print "繰り返す回数を入力してください\n";
$count = <STDIN>;
$re = 0;
chomp($count);
do {
print "$re回目です\r";
$re++;
} while ($re <= $count);
このようにプログラムすれば、負の値が代入されても1度はステートメントを実行します
プログラムの用途によって使い分けて下さい
while (expression) { statements }
expressionが真の間statementsを実行します
expressionには条件式を書きます
statementにはexpressionが真である間、くり返してほしいプログラムを書きます
until (expression) { statements }
expressionが真になるまでstatementsを実行します
expressionには条件式を書きます
statementにはexpressionが真になるまで、くり返してほしいプログラムを書きます
do { statements } [ while | until ] (expression)
ステートメントを実行してから式を評価します
expressionには条件式を書きます
statementには指定条件により、くり返してほしいプログラムを書きます