Lua - Schleifen

Es kann vorkommen, dass Sie einen Codeblock mehrmals ausführen müssen. Im Allgemeinen werden Anweisungen nacheinander ausgeführt: Die erste Anweisung in einer Funktion wird zuerst ausgeführt, gefolgt von der zweiten usw.

Programmiersprachen bieten verschiedene Steuerungsstrukturen, die kompliziertere Ausführungspfade ermöglichen.

Mit einer Schleifenanweisung können wir eine Anweisung oder eine Gruppe von Anweisungen mehrmals ausführen. Es folgt die allgemeine Form einer Schleifenanweisung in den meisten Programmiersprachen -

Lua bietet die folgenden Arten von Schleifen an, um die Schleifenanforderungen zu erfüllen.

Sr.Nr. Schleifentyp & Beschreibung
1 while-Schleife

Wiederholt eine Anweisung oder eine Gruppe von Anweisungen, während eine bestimmte Bedingung erfüllt ist. Es testet die Bedingung, bevor der Schleifenkörper ausgeführt wird.

2 für Schleife

Führt eine Folge von Anweisungen mehrmals aus und verkürzt den Code, der die Schleifenvariable verwaltet.

3 Wiederholen ... bis Schleife

Wiederholt den Vorgang einer Anweisungsgruppe, bis die Bedingung bis erfüllt ist.

4 verschachtelte Schleifen

Sie können eine oder mehrere Schleifen in einer anderen while-, for- oder do..while- Schleife verwenden.

Schleifensteuerungsanweisung

Die Schleifensteueranweisung ändert die Ausführung von ihrer normalen Reihenfolge. Wenn die Ausführung einen Bereich verlässt, werden alle automatischen Objekte, die in diesem Bereich erstellt wurden, zerstört.

Lua unterstützt die folgenden Steueranweisungen.

Sr.Nr. Steueranweisung & Beschreibung
1 break-Anweisung

Beendet die loop und überträgt die Ausführung an die Anweisung unmittelbar nach der Schleife oder dem Schalter.

Die Endlosschleife

Eine Schleife wird zur Endlosschleife, wenn eine Bedingung niemals falsch wird. DaswhileZu diesem Zweck wird häufig eine Schleife verwendet. Da wir für die Bedingung direkt true angeben, wird sie für immer ausgeführt. Wir können die break-Anweisung verwenden, um diese Schleife zu unterbrechen.

while( true )
do
   print("This loop will run forever.")
end