في لواء، nil يمثل عدم الوجود أو الفراغ. إنه مختلف عن أي قيمة أو نوع بيانات آخر. يمكنك استخدامه لتدمير متغير أو إزالة قيمة في جدول. إنه القيمة الوحيدة بخلاف false التي لا تقيم إلى true.
يمتلك لواء جامع قمامة يقوم بإزالة البيانات التي لم تعد متاحة لأي نص برمجي. من أجل أفضل أداء، أعد تعريف المتغيرات الكبيرة كـ nil في النصوص البرمجية الطويلة عندما لا تحتاج إليها بعد الآن حتى يتمكن جامع القمامة من إزالتها.
local variableToDelete = 5
print(variableToDelete) -- 5
variableToDelete = nil
print(variableToDelete) -- nil
local dictionaryTable = {
Monday = 1,
Tuesday = 2,
Wednesday = 3
}
-- إخراج قيمة مفتاح 'Tuesday'
print(dictionaryTable.Tuesday) -- 2
-- مسح مفتاح 'Tuesday'
dictionaryTable.Tuesday = nil
-- إخراج قيمة المفتاح مرة أخرى
print(dictionaryTable.Tuesday) -- nilيمكنك استخدام nil لمسح بعض خصائص الكائنات. على سبيل المثال، يمكنك تعيين Parent لكائن إلى nil لإزالة الكائن بفاعلية من اللعبة. لإعادة الكائن إلى اللعبة بعد إزالته، أعِد تعيين Parent. المثال التالي يوضح كيفية استخدام nil لإزالة Part:
local Workspace = game:GetService("Workspace")
-- إنشاء طوبة جديدة
local part = Instance.new("Part")
-- تعيين الطوبة الجديدة إلى مساحة العمل، مما يجعلها قابلة للرؤية
part.Parent = Workspace
task.wait(1)
-- إزالة الطوبة من العرض ولكن ليس من الذاكرة
part.Parent = nil
task.wait(1)
-- لا تزال الطوبة موجودة لأنها مرجعية بواسطة المتغير "part"، لذا يمكن إعادتها إلى العرض
part.Parent = Workspace
task.wait(1)
-- إزالة الطوبة من العرض مرة أخرى
part.Parent = nil
-- مسح مرجع الطوبة حتى يتم التقاطها بواسطة جامع القمامة
part = nil