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 einer Operation oder einer bedingten Bewertung.

Logisch

Logische Operatoren geben Werte zurück, abhängig von den booleschen Werten der angegebenen Argumente.Wenn ein Argument nicht false oder nil ist, bewertet der Operator es als true .Im Gegensatz zu vielen anderen Sprachen betrachtet Luau sowohl Null als auch die leere Zeichenkette als true .Die folgende Tabelle fasst zusammen, wie logische Operatoren in Konditionen funktionieren.

OperatorBeschreibungen
andWertet als true nur aus, wenn beide Bedingungen wahr sind
orWertet als true aus, wenn eine der Bedingungen wahr ist
notWertet als das Gegenteil der Bedingung

und

Der Binäroperator and gibt eines der beiden Argumente zurück.Wenn das erste Argument auf true bewertet wird, gibt es das zweite Argument zurück.Ansonsten gibt es das erste Argument zurück.


print(4 and 5) -- 5
print(nil and 12) -- null
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

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


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

or

Der Binäroperator or gibt eines der beiden Argumente zurück.Wenn das erste Argument auf true bewertet wird, gibt es das erste Argument zurück.Ansonsten gibt es das zweite Argument zurück.


local y = x or 1
print(y) -- 1, weil x nicht existiert und daher null ist
local d = false
local e = d or 1
print(e) -- 1, weil 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

Du kannst or verwenden, um komplexe logische Tests in Kontrollstrukturen durchzuführen.Zum Beispiel prüft die folgende ifthen Aussage, 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("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 Binäroperator not gibt den entgegengesetzten booleschen Wert des Arguments zurück.Wenn das Argument false oder nil ist, gibt es true zurück.Ansonsten gibt es false zurück.


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 Schleife auszulösen, wenn eine Variable false oder nil ist.


local nilVariable -- Variable wird erklärt, hat aber keinen Wert, also ist sie null
local falseVariable = false -- Variable wird mit dem Wert false deklariert
if not nilVariable then
print(nilVariable) -- Gibt "null" aus, weil null nicht wahr ist
end
if not falseVariable then
print(falseVariable) -- Gibt "false" aus, weil falsch nicht wahr ist
end

Du kannst auch den not Operator verwenden, um das Gegenteil einer gesamten Mehrbedingungs statement zu testen.Im folgenden Codebeispiel sind die if - then Bedingungstests, die besagen, dass es weder wahr ist, dass drei größer als vier sind, noch ist es wahr, 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.

Relationell

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

OperatorBeschreibungBeispielVerknüpfte Metamethode
==Äquivalent zu3 == 5false__eq
~=Nicht gleich3 ~= 5true
>Größer als3 > 5false
<Weniger als3 < 5true__lt
>=Größer als oder gleich3 >= 5false
<=Weniger als oder gleich3 <= 5true__le

Arithmetik

Luau unterstützt die üblichen binären Operatoren zusammen mit der Exponentialrechnung, dem Modulus und der einfachen Negation.

OperatorBeschreibungBeispielVerknüpfte Metamethode
+Hinzufügung1 + 1 = 2__add
-Subtraktion1 - 1 = 0__sub
*Multiplikation5 * 5 = 25__mul
/Teilung10 / 5 = 2__div
//Bodenteilung

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

__idiv
^Exponentialisierung2 ^ 4 = 16__pow
%Modul13 % 7 = 6__mod
-Einzelne Verneinung-2 = 0 - 2__unm

Verbindliche Zuweisung

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

Die Operation in einer Verbindungszuweisung tritt einmal auf.Wenn zum Beispiel eine Ausdruck einen zufälligen Index in einer Tabelle erzeugt, verwendet Luau denselben Index sowohl für die Operation als auch für die Zuweisung.

In den folgenden Beispielen gehen wir von local x = 3 aus.

OperatorBetriebBeispielNeuer Wert von x
+=Hinzufügungx += 25
-=Subtraktionx -= 21
*=Multiplikationx *= 26
/=Teilungx /= 21.5
//=Bodenteilungx //= 21
%=Modulx %= 21
^=Exponentialisierungx ^= 29
..=Konkatinationx ..= " World!" "3 World!"

Sonstiges

Verschiedene Betreiber umfassen Konkatenz und Länge .

OperatorBeschreibungBeispielVerknüpfte Metamethode
..Verbindet zwei Zeichenkettenprint("Hello " .. "World!")__concat
#Länge des TischesWenn tableVar = {1, 2, 3} , dann #tableVar == 3 .__len