Operator

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

Seorang operator adalah simbol untuk melakukan operasi atau evaluasi kondisional.

Logika

Operator logika mengembalikan nilai tergantung pada nilai boolean dari argumen yang diberikan. Jika argumen tidak false atau nil, maka operator mengevaluasinya sebagai true. Tidak seperti banyak bahasa lain, Luau menganggap baik nol maupun string kosong sebagai true. Tabel berikut merangkum bagaimana operator logika berfungsi dalam kondisional.

OperatorDeskripsi
andMengevaluasi sebagai true hanya jika kedua kondisi adalah true
orMengevaluasi sebagai true jika salah satu kondisi adalah true
notMengevaluasi sebagai kebalikan dari kondisi

and

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


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

Anda dapat menggunakan and untuk menguji beberapa kondisi dalam struktur kontrol seperti if statements dan while loops. Misalnya, pernyataan ifthen berikut menguji bahwa dua kondisi keduanya benar:


local pasta = true
local tomatoSauce = true
if pasta == true and tomatoSauce == true then
print("Kami memiliki makan malam spaghetti")
else
print("Ada yang hilang...")
end
-- Output: Kami memiliki makan malam spaghetti

or

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


local y = x or 1
print(y) -- 1 karena x tidak ada dan oleh karena itu nil
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) -- true
print(false or false) -- false
print(true or false) -- true
print(true or true) -- true

Anda dapat menggunakan or untuk melakukan pengujian logika yang kompleks dalam struktur kontrol. Misalnya, pernyataan ifthen berikut menguji apakah dua kondisi benar atau sebuah kondisi ketiga benar:


local pasta = false
local tomatoSauce = true
local garlicBread = true
if (pasta == true and tomatoSauce == true) or garlicBread == true then
print("Kami memiliki makan malam spaghetti ATAU roti bawang")
else
print("Ada yang hilang...")
end
-- Output: Kami memiliki makan malam spaghetti ATAU roti bawang

not

Operator unary not mengembalikan nilai boolean kebalikan dari argumen. Jika argumen adalah false atau nil, maka ia mengembalikan true. Jika tidak, ia mengembalikan false.


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

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


local nilVariable -- Variabel dideklarasikan tetapi tidak memiliki nilai, jadi nil
local falseVariable = false -- Variabel dideklarasikan dengan nilai false
if not nilVariable then
print(nilVariable) -- Mengeluarkan "nil" karena nil bukan true
end
if not falseVariable then
print(falseVariable) -- Mengeluarkan "false" karena false bukan true
end

Anda juga dapat menggunakan operator not untuk menguji kebalikan dari sebuah pernyataan multi-kondisi. Dalam contoh kode berikut, kondisi ifthen menguji bahwa tidak benar bahwa tiga lebih besar dari empat dan 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("Tiga kurang dari 4 dan lima lebih besar dari 4.")
end
-- Output: Tiga kurang dari 4 dan lima lebih besar dari 4.

Relasional

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

OperatorDeskripsiContohMetamethod terkait
==Sama dengan3 == 5false__eq
~=Tidak sama dengan3 ~= 5true
>Lebih besar dari3 > 5false
<Lebih kecil dari3 < 5true__lt
>=Lebih besar dari atau sama dengan3 >= 5false
<=Lebih kecil dari atau sama dengan3 <= 5true__le

Aritmetika

Luau mendukung operator biner biasa bersama dengan eksponensiasi, modulus, dan negasi unary.

OperatorDeskripsiContohMetamethod terkait
+Penjumlahan1 + 1 = 2__add
-Pengurangan1 - 1 = 0__sub
*Perkalian5 * 5 = 25__mul
/Pembagian10 / 5 = 2__div
//Pembagian Lantai

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

__idiv
^Eksponensiasi2 ^ 4 = 16__pow
%Modulus13 % 7 = 6__mod
-Negasi unary-2 = 0 - 2__unm

Penugasan gabungan

Anda dapat menggunakan operator penugasan gabungan untuk menetapkan variabel sama dengan hasil dari sebuah operasi di mana parameter pertama adalah nilai saat ini dari variabel tersebut.

Operasi dalam penugasan gabungan terjadi sekali. Misalnya, jika sebuah ekspresi menghasilkan indeks acak dalam sebuah tabel, Luau menggunakan indeks yang sama untuk operasi dan penugasan.

Dalam contoh berikut, misalkan local x = 3.

OperatorOperasiContohNilai Baru dari x
+=Penjumlahanx += 25
-=Penguranganx -= 21
*=Perkalianx *= 26
/=Pembagianx /= 21.5
//=Pembagian Lantaix //= 21
%=Modulusx %= 21
^=Eksponensiasix ^= 29
..=Konkatensix ..= " World!" "3 World!"

Lain-lain

Operator lain-lain mencakup konkatensi dan panjang.

OperatorDeskripsiContohMetamethod terkait
..Menggabungkan dua stringprint("Halo " .. "Dunia!")__concat
#Panjang tabelJika tableVar = {1, 2, 3}, maka #tableVar == 3.__len
©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.