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şlemi veya kondisyonlu değerlendirmeyi yapmak için bir semboldür.

Mantıksal

Logik operatörler, verilen argümanların boBoolean değerlerine bağlı olarak değerleri iade eder. Bir argüman false veya nil değilse, operatör onu true olarak değerlendirir. Diğer birçok dilde, Luau zero ve boEmpty stringi de 1> true

OperatörAçıklamalar
veSadece şu anda doğru olan koşullarda değerlendirilir
veya:Herhangi bir koşul doğru ise değerlendirilir
değilDurumun tersi olarak değerlendirilir

ve

Çift sayılı operatör and bir dereden iki değerden birini döndürür. Eğer ilk değer true derse, ikinci değer döndürülür. Aksi takdirde, ilk değer döndürülür.


print(4 and 5) -- 5
print(nil and 12) -- hiç
print(false and 12) -- yanlış
print(false and true) -- yanlış
print(false and false) -- yanlış
print(true and false) -- yanlış
print(true and true) -- true

Bir and ile birden fazla koşulu kontrol yapılarında test etmek için, örneğin 2> if2> ifadesi gibi, 5> 6> while6> 循环6> ile test edilir. Örneğin, aşağıdaki 9>


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

veya

Binary operatörü or bir derlediği iki argiden birini iade eder. Eğer ilk argüman değerlendiğinde true değerlendiyse, ilk argüman iade edilir. Aksi takdirde, ikinci argüman iade edilir.


local y = x or 1
print(y) -- 1, çünkü x mevcut değildir ve bu nedenle nedir
local d = false
local e = d or 1
print(e) -- 1 çünkü d yanlış
print(4 or 5) -- 4
print(nil or 12) -- 12
print(false or 12) -- 12
print(false or true) -- doğru
print(false or false) -- yanlış
print(true or false) -- doğru
print(true or true) -- true

Kontrol yapılarında karmaşık mantıksal testleri or ile yapabilirsiniz. Örneğin, aşağıdaki if — if ifadeleri, iki şartın doğru olduğunu veya1> bir üçüncü şartın doğru olduğunu test eder:


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

değil

Tek bir operatör not , argumentin tersi bir boBoolean değerini iade eder. Eğer argument false veya nil ise, 1> true1> ı döndürür. Aksi takdirde, 4> false4> ı döndürür.


print(not true) -- yanlış
print(not false) -- doğru
print(not nil) -- doğru
print(not "text") -- yanlış
print(not 0) -- false

Eğer bir değişken not veya false ise kondisyonlu veya döngüyü tetiklemek için nil operatörünü kullanabilirsiniz.


local nilVariable -- Değişken ilan edilmiştir, ancak değeri yoktur, bu yüzden sıfırdır
local falseVariable = false -- Değişkenin değeri false ile ilan edilmiştir
if not nilVariable then
print(nilVariable) -- nil çıktığını çünkü nil doğru değildir
end
if not falseVariable then
print(falseVariable) -- Çıkış "yanlış" çünkü yanlış değil
end

Ayrıca, bir tüm şartlı ifadenin zıttını test etmek için not operatörünü de kullanabilirsiniz. Aşağıdaki kod örneğinde, ifthen koşullu testleri, üçün dört'ten daha büyük olduğunu doğrulamak için değil, dört'ten daha büyük olduğunu doğrulam


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.

İlişkisel

Relational operatörleri iki parametriyi karşılaştırır ve bir boolean ile döndürür. Relational operatörleri iki parametriyi karşılaştırır ve bir button ile döndürür.

OperatörAçıklamaÖrnekİlişkili metod
==Eşdeğer3 == 5yanlış__eq
:Eşit değil3 5 → doğru
>:Daha büyük3 > 5false
<>En az3 → doğru__lt
Daha büyük veya eşit3 >= 5false
Küçük veya eşit3 <= 5doğru__le

Aritmetik

Lua, onaltılık ifadeleri, modül ve tek sayısal olumsuzlukla birlikte kullanılan üç temel binary operatörlerini destekler.

OperatörAçıklamaÖrnekİlişkili metod
+Ek1 + 1 = 2__ekle
-Tersyüz1 - 1 = 0__sub
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *Çarpanlama5 * 5 = 25__mul
/:Bölüm10 / 5 = 2__div
//Zemin Bölümü10 // 4 = 2-10 // 4 = -3__idiv
^:Kümes2^4=16__pow
%Modül% 13 7 = 6__mod
-Tekrarlanan Reddetme-2 = 0 - 2__unm

Kompozit Özellikleri

Bir karmaşık görevin sonucuna eşit bir değer ayarlamak için kullanabilirsiniz kompleman yöneticileri, ilk parametre'nin değerini değiştirmeyi sağlayan değişken'dir.

Bir kompleksi bir ödevde bir rastgele indeks oluşturursa, Luau, hem operasyon hem de atama için aynı indeksi kullanır.

Aşağıdaki örneklerde, local x = 3 'i varsayalım.

OperatörOperasyonÖrnekYeni Değer x
Ekx + 25
annelerTersyüzx=-21.
*)Çarpanlamax* 26
/=:Bölümx /= 21.5
//=:Zemin Bölümüx //= 21.
=Modülx%=21.
^=Kümesx^ = 29
..=Birleştirmex..= "Dünya!"“3 Dünyası!”

Diğer

Diğer operatörler kaydırma ve uzunluk dahil olmak üzere toplu işaretleri içerir.

OperatörAçıklamaÖrnekİlişkili metod
..İki yığınlayıcıyı birleştirirprint("Merhaba".. "Dünya")__concat:
#Masa uzunluğuEğer tableVar = 1, 2, 3 , ise #tablVar == 3 .__len