ตัวประกอบ เป็นตัวอักษรสัญลักษณ์สำหรับการประมวลผลการดำเนินการหรือการประเมินความเป็นไปได้
มีเหตุผล
ตัวดำเนินการที่มีประสิทธิภาพกลับค่าตามค่าเป็นสัญลักษณ์ของตัวอย่างที่ให้ไว้ หากตัวอย่างไม่ใช่ false หรือ nil ตัวด
ผู้ปฏิบัติงาน | คำอธิบาย |
---|---|
และ | ประเมินว่าเป็น จริง เฉพาะถ้าทั้งสองเงื่อนไขเป็นจริง |
หรือ | ประเมินว่าเป็น จริง ถ้าเงื่อนไขใด ๆ เป็นจริง |
ไม่ใช่ | ประเมินว่าเป็นสิ่งที่ตรงกันข้ามกับเงื่อนไข |
และ
ตัวดำเนินการของภาษาซับซ้อน and กลับค่าหนึ่งในสองค่า หากตัวแรกของค่าประเมินว่า true จะกลับค่าที่สอง อย่างอื่นก็จะกลับค่าแรก
print(4 and 5) -- 5print(nil and 12) -- ไม่มีprint(false and 12) -- ปลอมprint(false and true) -- ปลอมprint(false and false) -- ปลอมprint(true and false) -- ปลอมprint(true and true) -- true
คุณสามารถใช้ and เพื่อทดสอบหลายเงื่อนไขใน โครงสร้างการควบคุม เช่น if คำสั่ง และ 3>4> while4> ล
local pasta = truelocal tomatoSauce = trueif pasta == true and tomatoSauce == true thenprint("We have spaghetti dinner")elseprint("Something is missing...")end-- Output: We have spaghetti dinner
หรือ
ตัวดำเนินการของภาษาซับซ้อน or กลับค่าหนึ่งในสองค่า หากค่าแรกประเมินว่า true ตัวดำเนินการจะกลับค่าแรก อย่างอื่นก็จะกลับค่าที่สอง
local y = x or 1print(y) -- 1 เพราะ x ไม่มีและดังนั้นจึงเป็น zerolocal d = falselocal e = d or 1print(e) -- 1 เพราะ d เป็น falseprint(4 or 5) -- 4print(nil or 12) -- 12print(false or 12) -- 12print(false or true) -- จริงprint(false or false) -- ปลอมprint(true or false) -- จริงprint(true or true) -- true
คุณสามารถใช้ or เพื่อทำการทดสอบโค้งสร้างที่ซับซ้อนใน โครงสร้างการควบคุม ตัวอย่างเช่น, สถานะต่อไปนี้ if — 1> then1> สถานะต่อไปนี้ 4>
local pasta = falselocal tomatoSauce = truelocal garlicBread = trueif (pasta == true and tomatoSauce == true) or garlicBread == true thenprint("We have either spaghetti dinner OR garlic bread")elseprint("Something is missing...")end-- Output: We have either spaghetti dinner OR garlic bread
ไม่
ตัวดำเนินการเดียว not กลับค่าตัวละครของอาร์กุมนต์ที่ตรงกันของอาร์กุมนต์ หากอาร์กุมนต์เป็น false หรือ nil จะกลับค่าตัวละคร 1> true1> อย่า
print(not true) -- ปลอมprint(not false) -- จริงprint(not nil) -- จริงprint(not "text") -- ปลอมprint(not 0) -- false
คุณสามารถใช้ตัวประกาศ not เพื่อเรียกใช้ค่าตัวแปรที่เป็นเงื่อนไขหรือลูปหากค่าตัวแปรเป็น false หรือ nil
local nilVariable -- ตัวแปรถูกประกาศ แต่ไม่มีค่า ดังนั้นจึงเป็น zerolocal falseVariable = false -- ตัวแปรจะประกาศด้วยค่า trueif not nilVariable thenprint(nilVariable) -- ออก "nil" เพราะ nil ไม่ใช่ความจริงendif not falseVariable thenprint(falseVariable) -- ออก "ไม่" เพราะไม่ ไม่ใช่ความจริงend
คุณยังสามารถใช้ตัวประกอบ not เพื่อทดสอบสำหรับสิ่งที่ตรงกันของคำสั่งข้อกำหนดหลายข้อ ในตัวอย่างโค้ดต่อไปนี้ การทดสอบเงื่อนไข if — then ท
local three = 3local four = 4local five = 5if not (three > four or five < four) thenprint("Three is less than 4 and five is greater than 4.")end-- Output: Three is less than 4 and five is greater than 4.
เชิงอัน
ตัวดำเนินการที่เกี่ยวข้องเปรียบเทียบสองตัวแปรและกลับมาที่ button เพื่อให้ เป็นไปตามที่เป็น หรือ เป็นไปตามที่เป็น ตัวเลือก
ผู้ปฏิบัติงาน | คำอธิบาย | ตัวอย่าง | มีตามีธีม |
---|---|---|---|
== | เท่ากับ | 3 == 5 → ปลอม | __eq เท่านั้น |
ฉัน | ไม่เท่ากับ | 3: 5 → | |
>: | ใหญ่กว่า | 3 > 5 → | |
< | น้อยกว่า | 3 < 5 → จริง | __lt |
>= | ใหญ่กว่าหรือเท่ากับ | 3 >= 5 → ปลอม | |
ซ้าย | น้อยกว่าหรือเท่ากับ | 3 <= 5 → ใช่ | __le เครื่องเขียน |
คณิตศาสตร์
Lua รองรับตัวดำเนินการบินอัตราส่วนทวีคูณ และการเปลี่ยนแปลงที่เป็นไปได้
ผู้ปฏิบัติงาน | คำอธิบาย | ตัวอย่าง | มีตามีธีม |
---|---|---|---|
+ | การเพิ่ม | 1 + 1 = 2 | __เพิ่ม __ |
-: | การลบ | 1 - 1 = 0 | __sub: |
* | การเพิ่มตัว | 5 * 5 = 25 พันธมิตร | __mul |
/: | ดิวิชั่น | 10 / 5 = 2 ตัวอย่าง | __div |
// | แบ่งชั้น | 10 // 4 = 2-10 // 4 = -3 | __idiv: |
^ | การแสดงผล | 2 ^ 4 = 16 พ.ย. 2019 | __pow เครื่องมือนี้ใช้งานได้เฉพาะผู้ที่มีสิทธิ์ใช้งานนั้นตามกฎหมายของประเทศที่พวกเขาอยูางใน |
% | โมดูล | 13 % 7 = 6 เครื่องคืนนี้ | __mod |
-: | การปฏิเสธที่เป็นอินทรี | -2 = 0 - 2 | __unm |
การจัดการคอมพันด์
คุณสามารถใช้ตัวประกอบการกำหนดตัวแปรที่เท่ากันกับผลของการดำเนินการที่มีตัวประกอบแรกเป็นมูลค่าปัจจุบันของตัวแปร
การดำเนินการในการกำหนดค่าสามารถเกิดขึ้นได้หนึ่งครั้ง เช่น หากคำสั่งประมวลผลสร้างดัชนีแบบสุ่มในตาราง Luau จะใช้ดัชนีเดียวสำหรับการดำเนินการและการกำหนดค่า
ในตัวอย่างต่อไปนี้ให้เป็นไปตาม local x = 3
ผู้ปฏิบัติงาน | การดำเนินงาน | ตัวอย่าง | มูลค่าใหม่ของ x |
---|---|---|---|
= | การเพิ่ม | x + 2 | 5 |
. | การลบ | x=- 2 | 1 |
* | การเพิ่มตัว | x*2 | 6 |
/=: | ดิวิชั่น | x /= 2 | 1.5 |
//=: | แบ่งชั้น | x //= 2 ตัว | 1 |
%=) | โมดูล | x %= 2 พัน | 1 |
^= | การแสดงผล | x^ = 2 | 9 |
..= | การรวม | x .. = " โลก!" | “3 โลก!” |
อื่นๆ
ผู้ประกอบการต่าง ๆ รวมถึง คอนเซชัน และ ความยาว
ผู้ปฏิบัติงาน | คำอธิบาย | ตัวอย่าง | มีตามีธีม |
---|---|---|---|
.. | รวมสองสตริง | พิมพ์ ("Hello".. "World!) | __construct: |
# | ความยาวของตาราง | ถ้า tableVar = 1, 2, 3 แล้ว #tableVar == 3 | __len ได้ |