Tür dönüşümü

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

Eğer Luau, bir değeri veya bir değişkeni bir işlemde kullanmaya çalışırsa, örneğin aritmetik, birleştirme veya atama gibi, fakat değer, işlemin beklediği türde değilse, o zaman Luau değeri, veri türünü değiştirmek için (koerş) dönüştürür. Dönüşüm, o işlem için çalışma zamanında gerçekleşir ve bir değişkenin değerini değiştirmez.

Aritmetik

Luau, aritmetik işlemlerde dizeleri sayılara dönüştürür. Bu davranış Luau'yla yerleşiktir. Eğer türler aritmetik için uyumsuzsa, Luau bir hata fırlatır ve komut dosyasının geri kalanını çalıştırmaz. Örneğin, dize bir sayıyı temsil etmiyorsa, bir dize ile bir sayıyı toplayamazsınız.


print(100 + "7") -- 107
print(100 - "7") -- 93
print("1000" + 234) -- 1234
print("1000" - 234) -- 766
print("hello" + 234) -- hata: aritmetik (toplama) dizesi ve sayı üzerinde işlem yapma girişimi

Birleştirme

Birleştirmede, Luau sayıları dizelere dönüştürür. Bir sayıyı dizeye dönüştürmek için dönüşüm kullanmadan, string.format() fonksiyonunu kullanın.


print("Pi, " .. math.pi) --> Pi 3.1415926535898
print("Pi, " .. 3.1415927) --> Pi 3.1415927
-- Üç ondalık basamağa yuvarlar
print("Pi, " .. string.format("%.3f", 3.1415927)) -- Pi, 3.142

Atama

Bazı özellikler belirli veri türlerini bekler, örneğin bir Enum veya dize, ancak farklı türde bir değeri ona atayabilirsiniz ve Luau değeri, özelliğin beklediği türe dönüştürür.

Enums

Luau, enum değerlerinin sayıları ve dizeleri, tam enum adına dönüştürür. Örneğin, Part.Material özelliğinin değerini bir sayı, dize veya tam enum adı kullanarak isimlendirebilirsiniz ve print() fonksiyonu her zaman tam enum adını yazdırır. Açık olmak en iyi uygulamadır ve tam enum adını kullanmak tavsiye edilir. Enums hakkında daha fazla bilgi için Enums kısmına bakın.


local Workspace = game:GetService("Workspace")
local part1 = Instance.new("Part")
part1.Material = 816
part1.Parent = Workspace
print(part1.Material) -- Enum.Material.Concrete
local part2 = Instance.new("Part")
part2.Material = "Concrete"
part2.Parent = Workspace
print(part2.Material) -- Enum.Material.Concrete
-- Bu en iyi uygulamadır çünkü en açıktır
local part3 = Instance.new("Part")
part3.Material = Enum.Material.Concrete
part3.Parent = Workspace
print(part3.Material) -- Enum.Material.Concrete

Gün Saati

Lighting.TimeOfDay özelliği, gecenin, gündüzün veya herhangi bir zamanın olup olmadığını tanımlayan, DateTime veri türünün dize temsilidir. Eğer Lighting.TimeOfDay'a bir sayı atarsanız, Luau bunu DateTime'ın dize temsilcisine dönüştürür.


local Lighting = game:GetService("Lighting")
Lighting.TimeOfDay = "05:00:00"
print(Lighting.TimeOfDay) -- 05:00:00
Lighting.TimeOfDay = 5
print(Lighting.TimeOfDay) -- 05:00:00
©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.