Operatory

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

An operator is a symbol for performing an operation or conditional evaluation.

Logiczne

Operatory logiczne zwracają wartości w zależności od wartości logicznych podanych argumentów. Jeśli argument nie jest false lub nil, operator ocenia go jako true. W przeciwieństwie do wielu innych języków, Luau uznaje zarówno zero, jak i pusty ciąg znaków za true. Poniższa tabela podsumowuje, jak działają operatory logiczne w warunkach.

OperatorOpisy
andOcenia jako true tylko wtedy, gdy obie warunki są prawdziwe
orOcenia jako true, jeśli którykolwiek z warunków jest prawdziwy
notOcenia jako przeciwny do warunku

and

Operator binarny and zwraca jeden z dwóch argumentów. Jeśli pierwszy argument ocenia do true, zwraca drugi argument. W przeciwnym razie zwraca pierwszy argument.


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

Możesz użyć and, aby przetestować wiele warunków w strukturach kontrolnych, takich jak if statements i while loops. Na przykład, poniższe zdanie ifthen sprawdza, czy dwa warunki są oba prawdziwe:


local pasta = true
local tomatoSauce = true
if pasta == true and tomatoSauce == true then
print("Mamy spaghetti na kolację")
else
print("Coś brakuje...")
end
-- Output: Mamy spaghetti na kolację

or

Operator binarny or zwraca jeden z dwóch argumentów. Jeśli pierwszy argument ocenia do true, zwraca pierwszy argument. W przeciwnym razie zwraca drugi argument.


local y = x or 1
print(y) -- 1 ponieważ x nie istnieje i zatem jest nil
local d = false
local e = d or 1
print(e) -- 1 ponieważ d jest fałszywe
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

Możesz użyć or, aby przeprowadzić złożone testy logiczne w strukturach kontrolnych. Na przykład, poniższe zdanie ifthen sprawdza, czy dwa warunki są prawdziwe lub trzeci warunek jest prawdziwy:


local pasta = false
local tomatoSauce = true
local garlicBread = true
if (pasta == true and tomatoSauce == true) or garlicBread == true then
print("Mamy albo spaghetti na kolację, ALBO chleb czosnkowy")
else
print("Coś brakuje...")
end
-- Output: Mamy albo spaghetti na kolację, ALBO chleb czosnkowy

not

Operator unarny not zwraca przeciwną wartość logiczną argumentu. Jeśli argument to false lub nil, zwraca true. W przeciwnym razie zwraca false.


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

Możesz użyć operatora not, aby uruchomić warunek lub pętlę, jeśli zmienna jest false lub nil.


local nilVariable -- Zmienna jest zadeklarowana, ale nie ma wartości, więc jest nil
local falseVariable = false -- Zmienna jest zadeklarowana z wartością false
if not nilVariable then
print(nilVariable) -- Wydrukuje "nil", ponieważ nil nie jest prawdziwe
end
if not falseVariable then
print(falseVariable) -- Wydrukuje "false", ponieważ false nie jest prawdziwe
end

Możesz również użyć operatora not, aby przetestować przeciwną wartość całego wyrażenia z wieloma warunkami. W poniższym przykładzie kodu, warunek ifthen sprawdza, że ani nieprawdziwe jest to, że trzy są większe od czterech, ani nie jest prawdziwe, że pięć jest większe od czterech.


local three = 3
local four = 4
local five = 5
if not (three > four or five < four) then
print("Trzy jest mniejsze od 4 i pięć jest większe od 4.")
end
-- Output: Trzy jest mniejsze od 4 i pięć jest większe od 4.

Relacyjne

Operatory relacyjne porównują dwa parametry i zwracają boolean: true lub false.

OperatorOpisPrzykładPowiązana metoda metatabeli
==Równy3 == 5false__eq
~=Nie równy3 ~= 5true
>Większy niż3 > 5false
<Mniejszy niż3 < 5true__lt
>=Większy lub równy3 >= 5false
<=Mniejszy lub równy3 <= 5true__le

Aritmetyczne

Luau obsługuje zwykłe operatory binarne wraz z potęgowanie, dzieleniem, oraz negacją unarną.

OperatorOpisPrzykładPowiązana metoda metatabeli
+Dodawanie1 + 1 = 2__add
-Odejmowanie1 - 1 = 0__sub
*Mnożenie5 * 5 = 25__mul
/Dzielenie10 / 5 = 2__div
//Dzielenie całkowite

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

__idiv
^Potęgowanie2 ^ 4 = 16__pow
%Operacja modulo13 % 7 = 6__mod
-Negacja unarna-2 = 0 - 2__unm

Przypisanie złożone

Możesz używać operatorów przypisania złożonego, aby ustawić zmienną równą wynikowi operacji, w której pierwszy parametr to bieżąca wartość zmiennej.

Operacja w przypisaniu złożonym występuje raz. Na przykład, jeśli wyrażenie generuje losowy indeks w tabeli, Luau używa tego samego indeksu zarówno dla operacji, jak i przypisania.

W poniższych przykładach zakładamy, że local x = 3.

OperatorOperacjaPrzykładNowa wartość x
+=Dodawaniex += 25
-=Odejmowaniex -= 21
*=Mnożeniex *= 26
/=Dzieleniex /= 21.5
//=Dzielenie całkowitex //= 21
%=Operacja modulox %= 21
^=Potęgowaniex ^= 29
..=Konkatencjax ..= " World!" "3 World!"

Różne

Różne operatory obejmują konkatenację i długość.

OperatorOpisPrzykładPowiązana metoda metatabeli
..Konkatenacja dwóch ciągówprint("Witaj " .. "Świecie!")__concat
#Długość tabeliJeśli tableVar = {1, 2, 3}, wtedy #tableVar == 3.__len
©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.