Arithmetische Operatoren
Luas arithmetische Operatoren sind:
"+" (Zugabe):
Die Codekopie lautet wie folgt:
Druck (1 + 2)
"-" (Subtraktion):
Die Codekopie lautet wie folgt:
Druck (2 - 1)
"*"(Multiplikation):
Die Codekopie lautet wie folgt:
Druck (1 * 2)
"/"(Division):
Die Codekopie lautet wie folgt:
drucken (1/2)
"^" (Index):
Die Codekopie lautet wie folgt:
Druck (27^(-1/3))
"%" (Modell):
Die Codekopie lautet wie folgt:
Druck (5 % 3)
Relationale Operatoren
LUA stellt die folgenden relationalen Betreiber an:
Die Codekopie lautet wie folgt:
<> <=> = == ~ = =
Die von den oben genannten Operatoren zurückgegebenen Operationen sind wahr oder falsch. Saiten können nicht mit Zahlen verglichen werden
Logische Operatoren
Logische Operatoren umfassen und oder, nicht
Die Codekopie lautet wie folgt:
drucken (1 und 2)
drucken (nil und 1)
drucken (falsch und 2)
drucken (1 oder 2)
drucken (falsch oder 5)
Logische Operatoren behandeln False und Null als falsch und andere als wahr.
Lokale Variablen und Umfang
Lua erstellt lokale Variablen durch lokale Aussagen, und der Umfang lokaler Variablen ist auf den Block beschränkt, der sie erklärt.
Die Codekopie lautet wie folgt:
Lokal A, B = 1, 10
Wenn a <b dann
Druck (a)
Lokal a
Druck (a)
Ende
drucken (a, b)
Durch das Speichern globaler Variablen mit lokaler Variablen lokalem können Sie den Zugang zu globalen Variablen im aktuellen Bereich beschleunigen. Vergleichen Sie für den Beschleunigungseffekt die Ausführungszeit der folgenden Fibonacci -Sequenz, um zu berechnen:
Die Codekopie lautet wie folgt:
Funktion Fibonacci (n)
Wenn n <2 dann
Rückkehr n
Ende
Rückgabe fibonacci (n - 2) + fibonacci (n - 1)
Ende
io.write (fibonacci (50), "/n")
Verwenden Sie die lokale variable lokale
Die Codekopie lautet wie folgt:
Lokale Funktion Fibonacci (n)
Wenn n <2 dann
Rückkehr n
Ende
Rückgabe fibonacci (n - 2) + fibonacci (n - 1)
Ende
io.write (fibonacci (50), "/n")
Kontrollstruktur
Wenn dann sonst enden
Die Codekopie lautet wie folgt:
Wenn num == 1 dann
drucken (1)
elseif num == 2 dann
Druck (2)
anders
print ("andere")
Ende
LUA unterstützt keine Switch -Aussagen
Während
Beurteilen Sie zuerst die Bedingung. Wenn die Bedingung wahr ist, führen Sie den Schleifenkörper aus, andernfalls endet er
Die Codekopie lautet wie folgt:
Lokal i = 1
während ein [ich] tut
drucken (a [i])
i = i + 1
Ende
wiederholen
Führen Sie zuerst einmal die Zirkulationsbehörde aus und beurteilen Sie dann den Zustand. Wenn die Erkrankung wahr ist, beenden Sie den Zirkulationskörper, andernfalls führen Sie weiterhin den Zirkulationskörper aus. Ähnlich wie bei den Aussagen in anderen Sprachen wird der Schleifenkörper mindestens einmal ausgeführt.
Die Codekopie lautet wie folgt:
Lokal a = 1
wiederholen
a = a + 1
B = a
drucken (b)
bis B <10
Für Schleife
Es gibt zwei Formen für Schleifenanweisungen: numerisch für (numerisch für), generisch für (generisches für)
Nummer für Syntax:
Die Codekopie lautet wie folgt:
Anfangs, Schritt tun
etwas tun
Ende
Start ist der Startwert, End ist der Endwert und Schritt ist die Schrittgröße (optional, Standard ist 1)
Die Codekopie lautet wie folgt:
für a = 10, 0, -2 tun
Druck (a)
Ende
Ein Generikum für Schleifen durchquert alle Werte durch eine Iteratorfunktion:
Die Codekopie lautet wie folgt:
tab = {key1 = "val1", key2 = "val2", "val3"}
Für k, v paarweise (Tab) tun
Wenn K == "KEY2" dann
brechen
Ende
print (k .. " -" .. v)
Ende
Die Break- und Rückgabeanweisungen werden verwendet, um aus dem aktuell ausgeführten Block auszubrechen.