redo文
Ruby 2014/02/03
while
文の中で redo
と書くと、そこでループの先頭に戻る。戻ったときに while
の条件式は評価されず、無条件にループが再開される。
i = 0
while i < 5
if i == 1
i = 3
redo
end
puts i
i += 1
end
# =>
# 0
# 3
# 4
Perl 2013/10/21
while
文の中で redo
と書くと、そこでループの先頭に戻る。
my $i = 0;
while () {
print "Start $i\n";
if ($i % 5 == 0) {
$i++;
redo;
}
if ($i == 7) {
last;
}
print "End $i\n";
$i++;
}
# 以下のように表示される
# Start 0
# Start 1
# End 1
# Start 2
# End 2
# Start 3
# End 3
# Start 4
# End 4
# Start 5
# Start 6
# End 6
# Start 7