Pengoperasional

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Sebuah operator adalah simbol untuk melakukan operasi atau penilaian kondisional.

Logika

Operator logik kembalikan nilai tergantung pada nilai booleh dari argument yang diberikan. Jika argument bukan false atau nil , maka operator mengevaluasi itu sebagai true . Berbeda dengan banyak bahasa lain, Luau menganggap kedua nol dan string kosong sebagai

OperatorDeskripsi
danMengevaluasi sebagai benar hanya jika kedua kondisi benar
atauMengevaluasi sebagai benar jika kondisi benar
bukanMengevaluasi sebagai kebalikan dari kondisi

dan

Operator biner and mengembalikan salah satu dari dua argumen. Jika argumen pertama diulas ke true, maka mengembalikan argumen kedua. Jika tidak, mengembalikan argumen pertama.


print(4 and 5) -- 5
print(nil and 12) -- nol
print(false and 12) -- benar
print(false and true) -- benar
print(false and false) -- benar
print(true and false) -- benar
print(true and true) -- true

Anda dapat menggunakan and untuk menguji beberapa kondisi di struktur kontrol seperti if pernyataan dan 3> 4> while4> . Misalnya, berikut 7> if7> — 0> then0> pernyataan


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

atau

Operator biner or mengembalikan salah satu dari dua argumen. Jika argumen pertama diulas ke true, maka itu mengembalikan argumen pertama. Jika tidak, itu mengembalikan argumen kedua.


local y = x or 1
print(y) -- 1 karena x tidak ada dan karena itu nol
local d = false
local e = d or 1
print(e) -- 1 karena d adalah false
print(4 or 5) -- 4
print(nil or 12) -- 12
print(false or 12) -- 12
print(false or true) -- benar
print(false or false) -- benar
print(true or false) -- benar
print(true or true) -- true

Anda dapat menggunakan or untuk melakukan tes logika yang kompleks di struktur kontrol. Misalnya, pernyataan if — 2>然2> menguji apakah dua kondisi benar 5>atau5> kondisi ketiga benar:


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

tidak

Operator unary not mengembalikan nilai booleh yang berlawanan dari argument. Jika argument adalah false atau nil, maka itu mengembalikan 1> tru1> . Jika tidak, itu mengembalikan 4> false4> .


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

Anda dapat menggunakan operator not untuk menyebabkan kondisi atau loop jika variabel adalah false atau nil.


local nilVariable -- Variable diklarifikasi tapi tidak memiliki nilai, jadi itu nol
local falseVariable = false -- Variable diklar dengan nilai false
if not nilVariable then
print(nilVariable) -- Output "nil" karena nil tidak benar
end
if not falseVariable then
print(falseVariable) -- Output "false" karena false tidak benar
end

Anda juga dapat menggunakan operator not untuk menguji untuk kebalikan dari pernyataan multi-condition yang lengkap. Dalam contoh kode berikut, kondisi ifthen kondisi kondisional yang tidak benar bahwa tiga lebih besar dari empat atau tidak benar bahwa lima lebih besar dari empat.


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.

Relasional

Operator relasi membandingkan dua parameter dan mengembalikan boolean : true atau false .

OperatorDeskripsiContohMetode metametode yang terkait
==)Sama dengan3 == 5salah__eq
!”Tidak sama dengan3 5 → benar
>Lebih besar dari3 > 5
<Kurang dari3 < 5benar__lt)
>=)Lebih besar dari atau sama dengan3 >= 5salah
Kurang dari atau sama dengan3 <= 5benar__le

Aritmatika

Lua mendukung operator biner yang biasa bersama dengan eksponensi, modul, dan negasi tunggal.

OperatorDeskripsiContohMetode metametode yang terkait
+Tambahan1 + 1 = 2__tambahkan
-Penghapusan1 - 1 = 0__sub
*Pengganda5 * 5 = 25.__mul
/Pembagian10 / 5 = 2__div
///Pembagian Lantai10 // 4 = 2-10 // 4 = -3__idiv
^Eksponensi2^4=16__pow
%Modul13% 7 = 6__mod
-Penolakan Unary-2 = 0 - 2__unm

Penggunaan Kompensasi

Anda dapat menggunakan operator pengganda penggunaan untuk menetapkan variabel yang sama dengan hasil operasi di mana parameter pertama adalah nilai variabel.

Operasi dalam konsentrasi pengoperasian terjadi sekali. Misalnya, jika ekspresi menghasilkan indeks acak di tabel, Luau menggunakan indeks yang sama untuk operasi dan konsentrasi.

Dalam contoh berikut, katakanlah local x = 3.

OperatorOperasiContohNilai Baru dari x
(+)Tambahanx += 25
====Penghapusanx -= 21.
*Penggandax*26
/=Pembagianx /= 21.5
//=Pembagian Lantaix //= 21.
%=:Modulx%= 21.
^=)Eksponensix ^= 29.
..=Kontrasenasix ..= "Dunia!"Dunia 3!"

Terbaru

Pengoperator lainnya termasuk konvensi dan panjangnya.

OperatorDeskripsiContohMetode metametode yang terkait
..Menggabungkan dua stringcetak ("Halo".. "Dunia!").__concat
#Panjang tabelJika tabelVar = 1, 2, 3 , maka #tabelVar == 3 .__len.