Nhà điều hành

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Một operator là một biểu tượng để thực hiện một hoạt động hoặc đánh giá điều kiện.

Nhận dạng

Các phép toán logic trả giá trị tùy thuộc vào giá trị boolean của các tham số được cung cấp.Nếu một tham số không phải là false hoặc nil, thì người vận hành sẽ đánh giá nó như true.Không giống như nhiều ngôn ngữ khác, Luau xem cả không và chuỗi trống là true .Bảng sau đây tổng hợp cách các logic operator hành động trong điều kiện conditional.

Nhà điều hànhMô tả
andĐánh giá là true chỉ khi cả hai điều kiện đều đúng
orĐánh giá là true nếu cả hai điều kiện đều đúng
notĐánh giá như là ngược lại với điều kiện

Nhà vận hành nhị phân and trả về một trong hai tham số.Nếu lập luận đầu tiên đánh giá thành true , thì nó trả lại lập luận thứ hai.Nếu không, nó trả về argument đầu tiên.


print(4 and 5) -- 5
print(nil and 12) -- không có
print(false and 12) -- giả mạo
print(false and true) -- giả mạo
print(false and false) -- giả mạo
print(true and false) -- giả mạo
print(true and true) -- true

Bạn có thể sử dụng and để kiểm tra nhiều điều kiện trong cấu trúc điều khiển như if tuyên bốwhile vòng lặp .Ví dụ, các tuyên bố sau if - then kiểm tra rằng hai điều kiện đều đúng:


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

Nhà vận hành nhị phân or trả về một trong hai tham số.Nếu lập luận đầu tiên đánh giá thành true , thì nó trả lại lập luận đầu tiên.Nếu không, nó trả về các tham số thứ hai.


local y = x or 1
print(y) -- 1 vì x không tồn tại và do đó là nil
local d = false
local e = d or 1
print(e) -- 1 vì d là sai
print(4 or 5) -- 4
print(nil or 12) -- 12
print(false or 12) -- 12
print(false or true) -- đúng
print(false or false) -- giả mạo
print(true or false) -- đúng
print(true or true) -- true

Bạn có thể sử dụng or để thực hiện các bài kiểm tra logic phức tạp trong cấu trúc điều khiển.Ví dụ, các tuyên bố sau if - then kiểm tra xem hai điều kiện có đúng hay không hoặc một điều kiện thứ ba có đúng hay không:


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

không

Nhà vận hành unary not trả về giá trị boolean ngược lại của tham số.Nếu argument là false hoặc nil , thì nó trả về true .Nếu không, nó trả về false .


print(not true) -- giả mạo
print(not false) -- đúng
print(not nil) -- đúng
print(not "text") -- giả mạo
print(not 0) -- false

Bạn có thể sử dụng operator not để kích hoạt một điều kiện hoặc vòng lặp nếu biến là false hoặc nil .


local nilVariable -- Biến được tuyên bố nhưng không có giá trị, vì vậy nó là nil
local falseVariable = false -- Biến được tuyên bố với giá trị là false
if not nilVariable then
print(nilVariable) -- Xuất "nil" vì nil không phải là sự thật
end
if not falseVariable then
print(falseVariable) -- Xuất ra "false" vì false không phải là true
end

Bạn cũng có thể sử dụng operator not để kiểm tra đối lập của toàn bộ câu lệnh điều kiện nhiều.Trong ví dụ mã sau, các kiểm tra điều kiện if - then không đúng là ba lớn hơn bốn hoặc không đúng là năm lớn hơn bốn.


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.

Quan hệ

Các hoạt động quan hệ so sánh hai tham số và trả về một boolean : true hoặc false .

Nhà điều hànhMô tảVí dụPhương pháp metamethod liên quan
==Bằng với3 == 5false__eq
~= >Không bằng với3 ~= 5true
>Lớn hơn3 > 5false >
<Ít hơn3 < 5true__lt
>=Lớn hơn hoặc bằng3 >= 5false
<=Nhỏ hơn hoặc bằng3 <= 5true__le

Toán học

Luau hỗ trợ các operator nhị phân thông thường cùng với số nhân, chia và phủ nhận một chiều.

Nhà điều hànhMô tảVí dụPhương pháp metamethod liên quan
+Thêm1 + 1 = 2__add
-Trừ bớt1 - 1 = 0__sub
*Nhân lên5 * 5 = 25__mul
/Sư đoàn10 / 5 = 2__div
//Phân chia tầng

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

__idiv
^Nhân số lũy thừa2 ^ 4 = 16__pow
%Modulus Nhân13 % 7 = 6__mod
-Phủ nhận một chiều-2 = 0 - 2__unm

Phân bổ hợp chất

Bạn có thể sử dụng các phép gán hợp chất để đặt một biến bằng kết quả của một hoạt động mà tham số đầu tiên là giá trị hiện tại của biến.

Hoạt động trong một phân bổ hợp chất xảy ra một lần.Ví dụ, nếu một biểu hiện tạo một chỉ mục ngẫu nhiên trong một bảng, Luau sử dụng chỉ mục tương tự cho cả hoạt động và phân bổ.

Trong các ví dụ sau, cho rằng local x = 3 .

Nhà điều hànhHoạt độngVí dụGiá trị mới của x
+=Thêmx += 25
-=Trừ bớtx -= 21
*=Nhân lênx *= 26
/=Sư đoànx /= 21.5
//=Sư phân chia sànx //= 21
%=Modulus Nhânx %= 21
^=Nhân số lũy thừax ^= 29
..=Sự kết hợpx ..= " World!" "3 World!"

Khác nhau

Các hoạt động khác bao gồm kết hợpchiều dài .

Nhà điều hànhMô tảVí dụPhương pháp metamethod liên quan
..Kết hợp hai chuỗiprint("Hello " .. "World!")__concat
#Chiều dài của bảngNếu tableVar = {1, 2, 3} , sau đó #tableVar == 3.__len