Operatoren

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

Ein Operator ist ein Symbol zum Ausführen einer Operation oder bedingten Bewertung.

Logisch

Logische Operatoren geben Werte abhängig von den booleschen Werten der gegebenen Argumente zurück. Wenn ein Argument nicht false oder nil ist, dann bewertet der Operator es als true. Anders als in vielen anderen Sprachen betrachtet Luau sowohl Null als auch den leeren String als true. Die folgende Tabelle fasst zusammen, wie logische Operatoren in Bedingungen funktionieren.

OperatorBeschreibungen
andBewertet als true, nur wenn beide Bedingungen wahr sind
orBewertet als true, wenn eine der Bedingungen wahr ist
notBewertet als das Gegenteil der Bedingung

und

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


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

Du kannst and verwenden, um mehrere Bedingungen in Kontrollstrukturen wie if-Bedingungen und while-Schleifen zu testen. Zum Beispiel testet die folgende if-then-Bedingung, dass beide Bedingungen wahr sind:


local pasta = true
local tomatoSauce = true
if pasta == true and tomatoSauce == true then
print("Wir haben Spaghetti zum Abendessen")
else
print("Es fehlt etwas...")
end
-- Ausgabe: Wir haben Spaghetti zum Abendessen

oder

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


local y = x or 1
print(y) -- 1, weil x nicht existiert und daher nil ist
local d = false
local e = d or 1
print(e) -- 1, weil d false ist
print(4 or 5) -- 4
print(nil or 12) -- 12
print(false or 12) -- 12
print(false or true) -- true
print(false or false) -- false
print(true or false) -- true
print(true or true) -- true

Du kannst or verwenden, um komplexe logische Tests in Kontrollstrukturen durchzuführen. Zum Beispiel testet die folgende if-then-Bedingung, ob zwei Bedingungen wahr sind oder eine dritte Bedingung wahr ist:


local pasta = false
local tomatoSauce = true
local garlicBread = true
if (pasta == true and tomatoSauce == true) or garlicBread == true then
print("Wir haben entweder Spaghetti zum Abendessen ODER Knoblauchbrot")
else
print("Es fehlt etwas...")
end
-- Ausgabe: Wir haben entweder Spaghetti zum Abendessen ODER Knoblauchbrot

nicht

Der unäre Operator not gibt den gegenteiligen booleschen Wert des Arguments zurück. Wenn das Argument false oder nil ist, gibt es true zurück. Andernfalls gibt es false zurück.


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

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


local nilVariable -- Variable ist deklariert, hat aber keinen Wert, daher ist sie nil
local falseVariable = false -- Variable ist mit dem Wert false deklariert
if not nilVariable then
print(nilVariable) -- Gibt "nil" aus, weil nil nicht true ist
end
if not falseVariable then
print(falseVariable) -- Gibt "false" aus, weil false nicht true ist
end

Du kannst auch den not-Operator verwenden, um das Gegenteil einer gesamten Mehrbedingungsaussage zu testen. Im folgenden Codebeispiel testet die if-then-Bedingung, dass es weder wahr ist, dass drei größer als vier ist, noch dass fünf größer als vier ist.


local three = 3
local four = 4
local five = 5
if not (three > four or five < four) then
print("Drei ist kleiner als 4 und fünf ist größer als 4.")
end
-- Ausgabe: Drei ist kleiner als 4 und fünf ist größer als 4.

Relational

Relationale Operatoren vergleichen zwei Parameter und geben einen boolean: true oder false zurück.

OperatorBeschreibungBeispielAssoziierte Metamethode
==Gleich3 == 5false__eq
~=Ungleich3 ~= 5true
>Größer als3 > 5false
<Weniger als3 < 5true__lt
>=Größer oder gleich3 >= 5false
<=Weniger oder gleich3 <= 5true__le

Arithmetisch

Luau unterstützt die üblichen binären Operatoren sowie Potenzierung, Modulus und unäre Negation.

OperatorBeschreibungBeispielAssoziierte Metamethode
+Addition1 + 1 = 2__add
-Subtraktion1 - 1 = 0__sub
*Multiplikation5 * 5 = 25__mul
/Division10 / 5 = 2__div
//Boden Division

10 // 4 = 2
-10 // 4 = -3

__idiv
^Potenzierung2 ^ 4 = 16__pow
%Modulus13 % 7 = 6__mod
-Unäre Negation-2 = 0 - 2__unm

Zusammengesetzte Zuweisung

Du kannst zusammengesetzte Zuweisungsoperatoren verwenden, um eine Variable gleich dem Ergebnis einer Operation zu setzen, bei der der erste Parameter der aktuelle Wert der Variable ist.

Die Operation in einer zusammengesetzten Zuweisung findet einmal statt. Wenn ein Ausdruck einen zufälligen Index in einer Tabelle generiert, verwendet Luau denselben Index sowohl für die Operation als auch für die Zuweisung.

In den folgenden Beispielen setzen wir voraus, dass local x = 3.

OperatorOperationBeispielNeuer Wert von x
+=Additionx += 25
-=Subtraktionx -= 21
*=Multiplikationx *= 26
/=Divisionx /= 21.5
//=Boden Divisionx //= 21
%=Modulusx %= 21
^=Potenzierungx ^= 29
..=Verkettungx ..= " Welt!" "3 Welt!"

Sonstiges

Sonstige Operatoren sind Verkettung und Länge.

OperatorBeschreibungBeispielAssoziierte Metamethode
..Kettet zwei Strings miteinanderprint("Hallo " .. "Welt!")__concat
#Länge der TabelleWenn tableVar = {1, 2, 3}, dann #tableVar == 3.__len
©2026 Roblox Corporation. Roblox, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.