في لواء، nil يمثل عدم الوجود أو الفراغ. إنه مختلف عن أي قيمة أو نوع بيانات آخر. يمكنك استخدامه لتدمير متغير أو إزالة قيمة في جدول. إنه القيمة الوحيدة بخلاف false التي لا تقيم إلى true.
يمتلك لواء جامع قمامة يقوم بإزالة البيانات التي لم تعد متاحة لأي نص برمجي. من أجل أفضل أداء، أعد تعريف المتغيرات الكبيرة كـ nil في النصوص البرمجية الطويلة عندما لا تحتاج إليها بعد الآن حتى يتمكن جامع القمامة من إزالتها.
local variableToDelete = 5print(variableToDelete) -- 5variableToDelete = nilprint(variableToDelete) -- nillocal 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 = Workspacetask.wait(1)-- إزالة الطوبة من العرض ولكن ليس من الذاكرةpart.Parent = niltask.wait(1)-- لا تزال الطوبة موجودة لأنها مرجعية بواسطة المتغير "part"، لذا يمكن إعادتها إلى العرضpart.Parent = Workspacetask.wait(1)-- إزالة الطوبة من العرض مرة أخرىpart.Parent = nil-- مسح مرجع الطوبة حتى يتم التقاطها بواسطة جامع القمامةpart = nil