ใน Luau, nil พิมพ์ๆคุณสามารถใช้มันเพื่อทําลายตัวแปรหรือลบค่าในตารางมันเป็นค่าเดียวที่ไม่ใช่ false ซึ่งไม่ได้ประเมินเป็น true
Luau มีตัวรวบรวมขยะ การดำเนินการกำหนดใหม่ตัวแปรขนาดใหญ่เป็น nil ในสคริปต์ที่ทำงานเป็นเวลานานเมื่อคุณไม่ต้องการพวกมันอีกต่อไปดังนั้นตัวเก็บขยะจะลบพวกมัน
local variableToDelete = 5print(variableToDelete) -- 5variableToDelete = nilprint(variableToDelete) -- ไม่มีlocal dictionaryTable = {Monday = 1,Tuesday = 2,Wednesday = 3}-- ค่าออกของกุญแจ 'วันอังคาร'print(dictionaryTable.Tuesday) -- 2-- คีย์'วันอังคาร'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.Parent = Workspacetask.wait(1)-- ลบส่วนออกจากมุมมองอีกครั้งpart.Parent = nil-- ล้างการอ้างอิงส่วนเพื่อให้ถูกเก็บขึ้นโดยตัวรวบรวมขยะpart = nil