Perl redo-Anweisung

Perl 循环Perl-Schleifen

Die Perl-redo-Anweisung springt direkt zur ersten Zeile des Schleifenkörpers und beginnt, diese Iteration zu wiederholen. Anweisungen nach der redo-Anweisung werden nicht mehr ausgeführt, und der continue-Anweisungsblock wird ebenfalls nicht mehr ausgeführt.

Die continue-Anweisung kann in while- und foreach-Schleifen verwendet werden.

Syntax

Das Syntaxformat lautet wie folgt:

redo [LABEL]

Wobei LABEL optional ist.

Die redo-Anweisung mit dem Label-Modifikator LABEL bedeutet, den Schleifenkontrollfluss direkt zur ersten Zeile des Anweisungsblocks zu übertragen, der dem Label-Modifikator LABEL zugeordnet ist, um mit der Ausführung zu beginnen, und die Anweisungen nach der redo-Anweisung sowie den continue-Anweisungsblock nicht mehr auszuführen;

Die redo-Anweisung ohne den Label-Modifikator LABEL bedeutet, den Schleifenkontrollfluss direkt zur ersten Zeile des aktuellen Anweisungsblocks zu übertragen, um mit der Ausführung zu beginnen, und die Anweisungen nach der redo-Anweisung sowie den continue-Anweisungsblock nicht mehr auszuführen;

Wenn sie sich in einer for-Schleife befindet oder einen continue-Anweisungsblock hat, werden die Inkrementliste in der for-Schleife und der continue-Anweisungsblock nicht mehr ausgeführt;

Flussdiagramm

Beispiel

#/usr/bin/perl $a = 0; while($a < 10){ if( $a == 5 ){ $a = $a + 1; redo; } print "a = $a\n"; }continue{ $a = $a + 1; }

Wenn das obige Programm ausgeführt wird, lautet die Ausgabe:

a = 0
a = 1
a = 2
a = 3
a = 4
a = 6
a = 7
a = 8
a = 9

Perl 循环Perl-Schleifen

Andere Erweiterungen