Lua for-Schleife
In der Programmiersprache Lua kann die for-Schleifenanweisung angegebene Anweisungen wiederholt ausführen, und die Anzahl der Wiederholungen kann in der for-Anweisung gesteuert werden.
Die for-Schleife in der Programmiersprache Lua hat zwei Hauptkategorien:
- Numerische for-Schleife
- Generische for-Schleife
Numerische for-Schleife
Das Syntaxformat der numerischen for-Schleife in der Programmiersprache Lua ist:
for var=exp1,exp2,exp3 do
<执行体>
end
var ändert sich von exp1 nach exp2, wobei var bei jeder Änderung um exp3 erhöht wird, und führt einmal"Schleifenkörper" aus.exp3 ist optional; wenn nicht angegeben, wird standardmäßig 1 verwendet.
Beispiel
Beispiel
print(i)
end
for i=10,1,-1 do
print(i)
end
Die drei Ausdrücke von for werden einmal vor Beginn der Schleife ausgewertet und danach nicht erneut ausgewertet. Zum Beispiel wird f(x) oben nur einmal vor Beginn der Schleife ausgeführt, und sein Ergebnis wird in den nachfolgenden Schleifen verwendet.
Die Überprüfung ist wie folgt:
Beispiel
Funktion f(x)
print("function")
return x*2
end
for i=1,f(5) do print(i)
end
Die Ausgabe des obigen Beispiels ist:
function 1 2 3 4 5 6 7 8 9 10
Es ist zu sehen, dass die Funktion f(x) nur einmal vor Beginn der Schleife ausgeführt wird.
Generische for-Schleife
Die generische for-Schleife durchläuft alle Werte über eine Iteratorfunktion, ähnlich der foreach-Anweisung in Java.
Das Syntaxformat der generischen for-Schleife in der Programmiersprache Lua ist:
--打印数组a的所有值
a = {"one", "two", "three"}
for i, v in ipairs(a) do
print(i, v)
end
i ist der Array-Indexwert, und v ist der Array-Elementwert, der dem Index entspricht. ipairs ist eine von Lua bereitgestellte Iteratorfunktion, die zum Durchlaufen von Arrays verwendet wird.
Beispiel
Durchlaufe das Array days:
Beispiel
days = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}
for i,v in ipairs(days) do print(v) end
Die Ausgabe des obigen Beispiels ist:
Sunday Monday Tuesday Wednesday Thursday Friday SaturdayWeitere Erweiterungen
Lua-Schleifen