ตัวดำเนินการ

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

An ตัวดำเนินการ คือสัญลักษณ์สำหรับการทำงานหรือการประเมินเงื่อนไข

เชิงตรรกะ

ตัวดำเนินการเชิงตรรกะจะส่งคืนค่าตามค่าบูลีนของพารามิเตอร์ที่กำหนด หากพารามิเตอร์ไม่ใช่ false หรือ nil ตัวดำเนินการจะประเมินเป็น true ต่างจากภาษาอื่น ๆ หลายภาษา Luau จะพิจารณาทั้งเลขศูนย์และสตริงว่างเป็น true ตารางด้านล่างสรุปวิธีที่ตัวดำเนินการเชิงตรรกะทำงานใน เงื่อนไข.

ตัวดำเนินการคำบรรยาย
andประเมินเป็น true เฉพาะเมื่อเงื่อนไขทั้งสองเป็นจริง
orประเมินเป็น true เมื่อหนึ่งในสองเงื่อนไขเป็นจริง
notประเมินเป็นตรงกันข้ามของเงื่อนไข

and

ตัวดำเนินการไบนารี and จะส่งคืนหนึ่งในสองพารามิเตอร์ หากพารามิเตอร์แรกประเมินเป็น true จะส่งคืนพารามิเตอร์ที่สอง มิฉะนั้น จะส่งคืนพารามิเตอร์แรก


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

คุณสามารถใช้ and เพื่อตรวจสอบหลายเงื่อนไขใน โครงสร้างควบคุม เช่น if statements และ while loops ตัวอย่างเช่น คำสั่ง ifthen ต่อไปนี้จะทดสอบว่าเงื่อนไขทั้งสองเป็นจริง:


local pasta = true
local tomatoSauce = true
if pasta == true and tomatoSauce == true then
print("เรามีสปาเก็ตตี้สำหรับมื้อเย็น")
else
print("บางอย่างขาดหายไป...")
end
-- ผลลัพธ์: เรามีสปาเก็ตตี้สำหรับมื้อเย็น

or

ตัวดำเนินการไบนารี or จะส่งคืนหนึ่งในสองพารามิเตอร์ หากพารามิเตอร์แรกประเมินเป็น true จะส่งคืนพารามิเตอร์แรก มิฉะนั้น จะส่งคืนพารามิเตอร์ที่สอง


local y = x or 1
print(y) -- 1 เพราะว่า x ไม่มีอยู่และดังนั้นจึงเป็น nil
local d = false
local e = d or 1
print(e) -- 1 เพราะว่า d เป็น false
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

คุณสามารถใช้ or เพื่อทำการทดสอบเชิงตรรกะที่ซับซ้อนใน โครงสร้างควบคุม ตัวอย่างเช่น คำสั่ง ifthen ต่อไปนี้จะทดสอบว่าเงื่อนไขทั้งสองเป็นจริง หรือ เงื่อนไขที่สามเป็นจริง:


local pasta = false
local tomatoSauce = true
local garlicBread = true
if (pasta == true and tomatoSauce == true) or garlicBread == true then
print("เรามีทั้งมื้อเย็นสปาเก็ตตี้หรือขนมปังกระเทียม")
else
print("บางอย่างขาดหายไป...")
end
-- ผลลัพธ์: เรามีทั้งมื้อเย็นสปาเก็ตตี้หรือขนมปังกระเทียม

not

ตัวดำเนินการอันเดียว not จะส่งคืนค่าบูลีนตรงกันข้ามกับพารามิเตอร์ หากพารามิเตอร์เป็น false หรือ nil จะส่งคืน true มิฉะนั้นจะส่งคืน false


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

คุณสามารถใช้ตัวดำเนินการ not เพื่อทำให้เกิดเงื่อนไขหรือลูปหากตัวแปรเป็น false หรือ nil


local nilVariable -- ตัวแปรถูกประกาศแต่ไม่มีค่า ดังนั้นเป็น nil
local falseVariable = false -- ตัวแปรถูกประกาศด้วยค่าเป็น false
if not nilVariable then
print(nilVariable) -- ผลลัพธ์ "nil" เพราะ nil ไม่เป็นจริง
end
if not falseVariable then
print(falseVariable) -- ผลลัพธ์ "false" เพราะ false ไม่เป็นจริง
end

คุณยังสามารถใช้ตัวดำเนินการ not เพื่อตรวจสอบค่าผลลัพธ์ตรงกันข้ามของคำสั่งหลายเงื่อนไขทั้งหมด ในตัวอย่างโค้ดต่อไปนี้ เงื่อนไข ifthen จะทดสอบว่าไม่เป็นจริงที่สามมากกว่าสี่และไม่เป็นจริงที่ห้ามากกว่าสี่


local three = 3
local four = 4
local five = 5
if not (three > four or five < four) then
print("สาม น้อยกว่าสี่ และห้ามากกว่าสี่.")
end
-- ผลลัพธ์: สาม น้อยกว่าสี่ และห้ามากกว่าสี่.

เชิงสัมพันธ์

ตัวดำเนินการเชิงสัมพันธ์จะเปรียบเทียบสองพารามิเตอร์และส่งคืน boolean: true หรือ false.

ตัวดำเนินการคำบรรยายตัวอย่างเมตาเมธอดที่เกี่ยวข้อง
==เท่ากับ3 == 5false__eq
~=ไม่เท่ากับ3 ~= 5true
>มากกว่า3 > 5false
<น้อยกว่า3 < 5true__lt
>=มากกว่าหรือเท่ากับ3 >= 5false
<=น้อยกว่าหรือเท่ากับ3 <= 5true__le

คณิตศาสตร์

Luau สนับสนุนตัวดำเนินการไบนารีปกติพร้อมด้วยการยกกำลัง โมดูลัส และการลบเชิงลบ

ตัวดำเนินการคำบรรยายตัวอย่างเมตาเมธอดที่เกี่ยวข้อง
+บวก1 + 1 = 2__add
-ลบ1 - 1 = 0__sub
*การคูณ5 * 5 = 25__mul
/การหาร10 / 5 = 2__div
//การหารปัดเศษ

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

__idiv
^การยกกำลัง2 ^ 4 = 16__pow
%โมดูลัส13 % 7 = 6__mod
-การลบเชิงลบ-2 = 0 - 2__unm

การมอบหมายแบบผสม

คุณสามารถใช้ตัวดำเนินการการมอบหมายแบบผสมเพื่อกำหนดค่าตัวแปรให้เท่ากับผลของการดำเนินการที่พารามิเตอร์แรกเป็นค่าปัจจุบันของตัวแปร

การดำเนินการในการมอบหมายแบบผสมจะเกิดขึ้นเพียงครั้งเดียว ตัวอย่างเช่น หากมีนิพจน์ที่สร้างดัชนีแบบสุ่มในตาราง Luau จะใช้ดัชนีเดียวกันสำหรับทั้งการดำเนินการและการมอบหมาย

ในตัวอย่างต่อไปนี้ สมมติว่า local x = 3.

ตัวดำเนินการการดำเนินการตัวอย่างค่าใหม่ของ x
+=บวกx += 25
-=ลบx -= 21
*=การคูณx *= 26
/=การหารx /= 21.5
//=การหารปัดเศษx //= 21
%=โมดูลัสx %= 21
^=การยกกำลังx ^= 29
..=การต่อเชื่อมx ..= " World!" "3 World!"

อื่น ๆ

ตัวดำเนินการอื่น ๆ รวมถึง การต่อเชื่อม และ ความยาว

ตัวดำเนินการคำบรรยายตัวอย่างเมตาเมธอดที่เกี่ยวข้อง
..เชื่อมต่อสตริงสองตัวprint("สวัสดี " .. "โลก!")__concat
#ความยาวของตารางหาก tableVar = {1, 2, 3} ดังนั้น #tableVar == 3.__len
©2026 Roblox Corporation. Roblox, โลโก้ Roblox และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ