Eğer Luau bir işlemde bir değeri veya değişkeni kullanmaya çalışır, örneğin aritmetik , kombinasyon veya 2>atama2> gibi, ancak değer yazbeklediği için değeri değiştir
Aritmetik
Luau, aritmetik işlemler içindeki sayılara zorluk çeker. Bu davranış Luau'nun içine inşa edilmiştir. Eğer türler aritmetik için uyumsuzsa, Luau bir hata oluşturur ve geri kalan kısmı çalıştırmaz. Örneğin, bir türü bir sayıyı temsil etmiyorsa, Luau bir türü ekleyemez.
print(100 + "7") -- 107print(100 - "7") -- 93print("1000" + 234) -- 1234print("1000" - 234) -- 766print("hello" + 234) -- error: attempt to perform arithmetic (add) string and number
Birleştirme
Katıştırma işlemi, Luau sayıları senkronize edilmiş yuva haline getirir. Bir sayıyı senkronize edilmiş yuva olarak dönüştürmek için string.format().
print("Pi is " .. math.pi) --> Pi 3.1415926535898print("Pi is " .. 3.1415927) --> Pi 3.1415927-- Üç ondalık yere kadar turaprint("Pi is " .. string.format("%.3f", 3.1415927)) -- Pi is 3.142
Görev
Bazı özellikler belli veri türlerini bekler, örneğin bir Envanter veya bir dizi, ancak bir değeri farklı bir türde atayabilirsiniz ve Luau, değeri özellik beklediği türü dönüştürür.
Enümler
Luau, sayıları ve dizgi değerlerinin dizgi adını tam sayıya zorlar. Örneğin, bir sayıyı kullanarak Part.Material özelliğinin değerini veya bir dizgi adını yazabilirsiniz ve print() işlevi her zaman değeri full dizgi adıyla yazar. Enümler için
local part1 = Instance.new("Part")part1.Parent = workspacepart1.Material = 816print(part1.Material) -- Envanter.Malzeme.Betonlocal part2 = Instance.new("Part")part2.Parent = workspacepart2.Material = "Concrete"print(part2.Material) -- Envanter.Malzeme.Beton-- Bu en iyi pratik çünkü en açıklocal part3 = Instance.new("Part")part3.Parent = workspacepart3.Material = Enum.Material.Concreteprint(part3.Material) -- Enum.Material.Concrete
Günün Zamanı
Class.Lighting.TimeOfDay özelliği, bir gece, gündüz veya herhangi bir saat olup olmadığını tanımlar, bu bir DateTime veri yaztemsilidir. Lighting.TimeOfDay ile bir sayıyı 1>Datatype.DateTime1> ile dönüştürür.
local Lighting = game:GetService("Lighting")Lighting.TimeOfDay = "05:00:00"print(Lighting.TimeOfDay) -- 05:00:00Lighting.TimeOfDay = 5print(Lighting.TimeOfDay) -- 05:00:00