Luau'da, nil yokluğu veya hiçliği temsil eder. Bu, herhangi bir başka değer veya veri türünden farklıdır. Bir değişkeni yok etmek veya bir tabloda bir değeri kaldırmak için kullanabilirsiniz. false dışında, true olarak değerlendirilmeyen tek değerdir.
Luau, herhangi bir script tarafından artık erişilemeyen verileri kaldıran bir çöp toplayıcıya sahiptir. En iyi performans için, artık ihtiyaç duymadığınız büyük değişkenleri uzun süre çalışan scriptlerde nil olarak yeniden tanımlayın, böylece çöp toplayıcı bunları kaldırabilir.
local variableToDelete = 5print(variableToDelete) -- 5variableToDelete = nilprint(variableToDelete) -- nillocal dictionaryTable = {Pazartesi = 1,Salı = 2,Çarşamba = 3}-- 'Salı' anahtarının değerini yazdırprint(dictionaryTable.Salı) -- 2-- 'Salı' anahtarını temizledictionaryTable.Salı = nil-- Anahtarın değerini tekrar yazdırprint(dictionaryTable.Salı) -- nil
Nesnelerin bazı özelliklerini temizlemek için nil kullanabilirsiniz. Örneğin, bir nesnenin Parent'ını nil olarak ayarlamak, nesneyi oyundan etkili bir şekilde kaldırır. Nesneyi kaldırdıktan sonra oyuna geri döndürmek için Parent'ı yeniden atayın. Aşağıdaki örnek, Part'ı kaldırmak için nil kullanımını göstermektedir:
local Workspace = game:GetService("Workspace")-- Yeni bir tuğla oluşturlocal part = Instance.new("Part")-- Yeni parçayı çalışma alanına ekleyerek görünür hale getirpart.Parent = Workspacetask.wait(1)-- Parçayı görünümden kaldır fakat hafızadan değilpart.Parent = niltask.wait(1)-- Parça hala mevcut çünkü "part" değişkeni tarafından referans alınıyor, bu nedenle görünümüne geri döndürülebilirpart.Parent = Workspacetask.wait(1)-- Parçayı görünümden tekrar kaldırpart.Parent = nil-- Parça referansını temizle, böylece çöp toplayıcı tarafından alınsınpart = nil