Operatörler

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Bir operatör, bir işlem veya koşullu değerlendirme gerçekleştirmek için bir semboldür.

Mantıksal

Mantıksal operatörler, verilen argümanların boolean değerlerine bağlı olarak değer döner. Eğer bir argüman false veya nil değilse, o zaman operatör bunu true olarak değerlendirir. Diğer birçok dilden farklı olarak, Luau hem sıfırı hem de boş dizgiyi true olarak kabul eder. Aşağıdaki tablo, mantıksal operatörlerin koşullar içindeki davranışlarını özetlemektedir.

OperatörAçıklamalar
andHer iki koşul da doğruysa true olarak değerlendirilir
orHerhangi bir koşul doğruysa true olarak değerlendirilir
notKoşulun tersini değerlendirir

and

İkili operatör and, iki argümandan birini döner. Eğer ilk argüman true olarak değerlendirilirse, o zaman ikinci argümanı döner. Aksi halde, ilk argümanı döner.


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 operatörünü, if ifadeleri ve while döngüleri gibi kontrol yapılarında birden fazla koşulu test etmek için kullanabilirsiniz. Örneğin, aşağıdaki ifthen ifadesi, iki koşulun da doğru olduğunu test eder:


local pasta = true
local tomatoSauce = true
if pasta == true and tomatoSauce == true then
print("Spagetti akşam yemeğimiz var")
else
print("Bir şey eksik...")
end
-- Çıktı: Spagetti akşam yemeğimiz var

or

İkili operatör or, iki argümandan birini döner. Eğer ilk argüman true olarak değerlendirilirse, o zaman ilk argümanı döner. Aksi halde, ikinci argümanı döner.


local y = x or 1
print(y) -- 1 çünkü x yok ve dolayısıyla nil
local d = false
local e = d or 1
print(e) -- 1 çünkü d sahte
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 operatörünü, kontrol yapılarında karmaşık mantıksal testler yapmak için kullanabilirsiniz. Örneğin, aşağıdaki ifthen ifadesi, iki koşulun doğru olup olmadığını test eder veya üçüncü bir koşulun doğru olup olmadığını kontrol eder:


local pasta = false
local tomatoSauce = true
local garlicBread = true
if (pasta == true and tomatoSauce == true) or garlicBread == true then
print("Ya spagetti akşam yemeğimiz var ya da sarımsak ekmeğimiz var")
else
print("Bir şey eksik...")
end
-- Çıktı: Ya spagetti akşam yemeğimiz var ya da sarımsak ekmeğimiz var

not

Tekil operatör not, argümanın ters boolean değerini döner. Eğer argüman false veya nil ise, o zaman true döner. Aksi halde, false döner.


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

not operatörünü, bir değişken false veya nil olduğunda bir koşul veya döngü tetiklemek için kullanabilirsiniz.


local nilVariable -- Değişken tanımlanmış ama hiçbir değere sahip değil, bu yüzden nil
local falseVariable = false -- Değişken, false değeri ile tanımlandı
if not nilVariable then
print(nilVariable) -- Çıktı "nil" çünkü nil doğru değil
end
if not falseVariable then
print(falseVariable) -- Çıktı "false" çünkü false doğru değil
end

Bunun yanı sıra, not operatörünü, tüm çoklu koşul ifadelerinin tersini test etmek için de kullanabilirsiniz. Aşağıdaki kod örneğinde, ifthen koşulu, üçün dörtten büyük olmasının doğru olmadığını ve beşin dörtten büyük olmasının doğru olmadığını test eder.


local three = 3
local four = 4
local five = 5
if not (three > four or five < four) then
print("Üç 4'ten küçüktür ve beş 4'ten büyüktür.")
end
-- Çıktı: Üç 4'ten küçüktür ve beş 4'ten büyüktür.

İlişkisel

İlişkisel operatörler, iki parametreyi karşılaştırır ve boolean: true veya false döner.

OperatörAçıklamaÖrnekİlişkili metamethod
==Eşit3 == 5false__eq
~=Eşit değil3 ~= 5true
>Büyüktür3 > 5false
<Küçüktür3 < 5true__lt
>=Büyük veya eşit3 >= 5false
<=Küçük veya eşit3 <= 5true__le

Aritmetik

Luau, eksponansiyasyon, modül ve tekil negasyon ile birlikte olağan ikili operatörleri destekler.

OperatörAçıklamaÖrnekİlişkili metamethod
+Toplama1 + 1 = 2__add
-Çıkarma1 - 1 = 0__sub
*Çarpma5 * 5 = 25__mul
/Bölme10 / 5 = 2__div
//Bötçü Bölme

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

__idiv
^Üslü sayı2 ^ 4 = 16__pow
%Modül13 % 7 = 6__mod
-Tekil negasyon-2 = 0 - 2__unm

Bileşik atama

Bileşik atama operatörlerini, bir değişkenin eşitliğini, ilk parametrenin değişkenin mevcut değeri olduğu bir işlemin sonucuna ayarlamak için kullanabilirsiniz.

Bileşik atamada işlem bir kez gerçekleşir. Örneğin, bir ifade bir tabloda rastgele bir indeks oluşturursa, Luau hem işlem hem de atama için aynı indeksi kullanır.

Aşağıdaki örneklerde, local x = 3 olduğunu varsayın.

OperatörİşlemÖrnekx'in Yeni Değeri
+=Toplamax += 25
-=Çıkarmax -= 21
*=Çarpmax *= 26
/=Bölmex /= 21.5
//=Bötçü Bölmex //= 21
%=Modülx %= 21
^=Üslü sayıx ^= 29
..=Birleştirmex ..= " Dünya!" "3 Dünya!"

Çeşitli

Çeşitli operatörler, birleştirme ve uzunluk içerir.

OperatörAçıklamaÖrnekİlişkili metamethod
..İki dizgiyi birleştirirprint("Merhaba " .. "Dünya!")__concat
#Tablonun uzunluğuEğer tableVar = {1, 2, 3} ise, o zaman #tableVar == 3.__len
©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.