Betreiber

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Ein Betreiber ist ein Symbol für die Ausführung eines Vorgangs oder einer Bedingungsevaluierung.

Logisch

Logische Operatoren geben Werte zurück, abhängig von denBoolean-Werten der angegebenen Argumente. Wenn ein Argument nicht false oder nil ist, dann bewertet der Operator es als true. Im Gegensatz zu vielen anderen Sprachen betrachtet Luau sowohl die leere Zeichen als auch die leere Zeichen als 1> true1>. Die folgende Tabelle

BetreiberBeschreibungen
undBewertet als wahr nur, wenn beide Bedingungen wahr sind
oderBewertet als wahr wenn eine der Bedingungen wahr ist
nichtBewertet als das Gegenteil der Bedingung

und

Der binäre Operator and gibt eines der beiden Argumente zurück. Wenn das erste Argument zu true evaluiert wird, gibt das zweite Argument zurück. Andernfalls gibt es das erste Argument zurück.


print(4 and 5) -- 5
print(nil and 12) -- nichts
print(false and 12) -- falsch
print(false and true) -- falsch
print(false and false) -- falsch
print(true and false) -- falsch
print(true and true) -- true

Sie können and verwenden, um mehrere Bedingungen in Kontrollstrukturen wie if-Anweisungen und 3> 4> while4> -Schleifen zu testen. Zum Beispiel testet die folgende 8> if8> — 1> then1> Anweisung, dass zwei


local pasta = true
local tomatoSauce = true
if pasta == true and tomatoSauce == true then
print("We have spaghetti dinner")
else
print("Something is missing...")
end
-- Output: We have spaghetti dinner

oder

Der binäre Operator or gibt eines der beiden Argumente zurück. Wenn das erste Argument zu true evaluiert wird, gibt es das erste Argument zurück. Andernfalls gibt es das zweite Argument zurück.


local y = x or 1
print(y) -- 1, da x nicht existiert und deshalb null ist
local d = false
local e = d or 1
print(e) -- 1, da d falsch ist
print(4 or 5) -- 4
print(nil or 12) -- 12
print(false or 12) -- 12
print(false or true) -- wahr
print(false or false) -- falsch
print(true or false) -- wahr
print(true or true) -- true

Sie können or verwenden, um komplexe logische Tests in Kontrollstrukturen durchzuführen. Zum Beispiel testet die folgende if — 2> dann2> die folgende Anweisung, ob zwei Bedingungen wahr sind 5> oder5> ein drittes Bedingung ist wahr:


local pasta = false
local tomatoSauce = true
local garlicBread = true
if (pasta == true and tomatoSauce == true) or garlicBread == true then
print("We have either spaghetti dinner OR garlic bread")
else
print("Something is missing...")
end
-- Output: We have either spaghetti dinner OR garlic bread

nicht

Der einfachen Operator not gibt den GegensatzBoolean-Wert des Argumentes zurück. Wenn das Argument false oder nil ist, gibt es den GegensatzBoolean zurück. 1> true1> . Andernfalls gibt es den GegensatzBoolean zurück. 4> false4> .


print(not true) -- falsch
print(not false) -- wahr
print(not nil) -- wahr
print(not "text") -- falsch
print(not 0) -- false

Du kannst den not Operator verwenden, um eine Bedingung oder eine Schleife auszulösen, wenn eine Variable false oder nil ist.


local nilVariable -- Variable wird erklärt, hat aber keinen Wert, so dass es null ist
local falseVariable = false -- Variable wird mit dem Wert false deklariert
if not nilVariable then
print(nilVariable) -- Outputs "nil" porque nil ist nicht wahr
end
if not falseVariable then
print(falseVariable) -- Gibt "false" aus, da falsch nicht wahr ist
end

Sie können auch den Operator not verwenden, um für das Gegenteil einer gesamten Multi-Condition-Anweisung zu testen. Im folgenden Codebeispiel testen die ifthen Bedingungstests, dass es wahr ist, dass drei größer als vier sind, oder dass es wahr ist, dass fünf größer als vier sind.


local three = 3
local four = 4
local five = 5
if not (three > four or five < four) then
print("Three is less than 4 and five is greater than 4.")
end
-- Output: Three is less than 4 and five is greater than 4.

Relationale

Relationale Operatoren vergleichen zwei Parameter und geben ein button zurück: true oder false.

BetreiberBeschreibungBeispielVerknüpfte Metamethode
==Äquinivalent zu3 == 5falsch__eq
Nicht gleich3 5 → true
>Größer als3 > 5falsch
<Unter3 < 5wahr__lt
>=Größer als oder gleich3 >= 5falsch
Unter oder gleich3 <= 5wahr__le

Arithmetik

Lua unterstützt die üblichen Binärbetreiber zusammen mit Ausdruckskraft, Modus und Einfach-Negation.

BetreiberBeschreibungBeispielVerknüpfte Metamethode
+Hinzufügung1 + 1 = 2__add
-Subtraktion1 - 1 = 0__sub
*Multiplikation5 * 5 = 25__mul
/Teilung10 / 5 = 2__div
//Bodenteilung10 // 4 = 2-10 // 4 = -3__idiv
^Expansion2 ^ 4 = 16__pow
%Modul13% 7 = 6__mod
-Einheitliche Ablehnung-2 = 0 - 2__unm

Komponenten-Zuordnung

Du kannst Compound-Zuweisungsoperatoren verwenden, um eine Variable, die dem Ergebnis einer Operation entspricht, zu setzen, bei der der erste Parameter der aktuelle Wert der Variable ist.

Die Operation in einem Compound-Zweck-Zuweisung tritt einmal auf. Zum Beispiel, wenn eine Ausdruch in einer Tabelle einen zufälligen Index erzeugt, verwendet Luau den gleichen Index für die Operation und die Zuweisung.

In den folgenden Beispielen nehmen wir an, local x = 3 .

BetreiberBetriebBeispielNeuer Wert von x
+=Hinzufügungx += 25
Subtraktionx=- 21
*Multiplikationx*26
/=Teilungx /= 21.5
//=Bodenteilungx //= 21
%=)Modulx %= 21
^=Expansionx^=29
..=Konzentrationx ..= "World!""3 Welt!"

Sonstiges

Miscellaneous operators include Konzentration and Länge .

BetreiberBeschreibungBeispielVerknüpfte Metamethode
..Konzentriert zwei Zeichendruck("Hallo " .. "World!"__concat
#Länge des TischesWenn tabelleVar = 1, 2, 3 , dann #tabelleVar == 3 .__len