この章ではredo演算子について説明します。
redo演算子は繰り返しの途中で発動したのならば条件式の判定を行わず、現在のループをやり直します。
while文、until文、for文、foreach文で使うことができます。
では例をみてみましょう。 redoが実行されるとというコメントがあるところまで戻ります。
この時の条件判断を行いません。
この例では234までは普通に出力していますが、$numが5になったのならばredoが発動して、の位置まで戻るので、で 5を出力することはありません。
「#redoにより、ここに戻ります」の位置まで戻ったら、で1が足されて6になりますが、の条件式の判定がFALSEなのでif文はスルーしてで 6を出力します。
そして、また最初に戻ってで条件判断をして6は10以内なのでまたループが始まると言う流れになります。
結果は「234678910」です。
もう一つredoの例を見てみましょう。
この例では$iが3になったら、まで戻って、を実行します。
次のif文は$iに10が入っているのでスルーして、最後にとを実行して終わりになります。
カテゴリー