Was ist der Unterschied zwischen for und foreach in Perl?

In der Programmiersprache Perl gibt es Stichworte for und foreach. Sie werden verwendet, um die Zyklen zu erstellen.

Zwischen Ihnen gibt es keinen Unterschied. Überall statt for können Sie immer foreach und statt foreach immer verwendet werden können for.

Aber es gibt eine Empfehlung. In Perl gibt es 2 Arten die Zyklen kann man mit Hilfe for oder foreach. Die Empfehlung besteht darin, dass für jede Art von Schleife verwenden Sie immer Ihre ein Schlüsselwort. Für den Zyklus ähnlich wie die Schleife in der Programmiersprache C verwenden Sie nur for, und für andere Zyklen verwenden nur foreach. Wenn man diese einfache Regel dann stellt sich die Frage, Wann was zu verwenden, und Lesen Sie den Code immer ein bisschen einfacher.

Zyklus wie in der Programmiersprache C

Nach der C-Programmiersprache diese Art der Schleife in Perl sieht sehr vertraut.

Nach for in Klammern geht die 3 Code-snippets:

  • der Anfangswert
  • überprüfen
  • ändern
▶ Run
#!/usr/bin/perl

for (my $i=0; $i < 3; $i++) {
    warn $i;
}

Dieser gleiche Code funktioniert ebenso gibt es statt for verwenden foreach. Aber es gibt eine Empfehlung für diese Art Schleife verwenden Sie immer nur for und verwenden Sie keine foreach.

Zyklus — Overkill Elemente

Die zweite Art von Schleife, die möglicherweise geschrieben mit einer for oder foreach in Perl — das ist abstoßend Elemente in der Liste. Diese Art der Schleife ist völlig anders als das was in der Programmiersprache C.

▶ Run
#!/usr/bin/perl

foreach my $el (1, 2, 3) {
    warn $el;
}

Wenn Sie schreiben for statt foreach, dann wird dieser Zyklus genau die gleiche Arbeit. Aber es gibt eine Empfehlung dazu die Art des Zyklus immer die foreach und verwenden Sie keine for.

Post-Zyklus

Eine Variante des vorherigen Zyklus. Diese Variante wird auch funktionieren gleich und im Falle for und foreach, aber die Empfehlung in diesem Fall verwenden Sie nur foreach.

▶ Run
#!/usr/bin/perl

warn $_ foreach (1, 2, 3);

Andere Artikel