Last Update 2008/05/18
redoはループ処理のブロック内において、redo出現以降の処理を飛ばしてもう一度同じループ処理を繰り返します。
continueで指定されたブロックがある場合でも処理は実行されません。
continueで指定されたブロックがある場合でも処理は実行されません。
(例)
$i = 0;
$j = 0;
while ($i < 5)
{
print "$i : $j\n";
# 本来のループ処理とは別のカウンタを用意
$j++;
# 無限ループにならないように処理
if ($j > 5) {last;}
# ここで再度同じループ処理に戻る
redo;
print "ここは表示されない\n";
}
continue
{
$i++;
print "ここも表示されない\n";
}
実行結果
0 : 0
0 : 1
0 : 2
0 : 3
0 : 4
0 : 5