ไม่มี

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

ใน Luau, nil พิมพ์ๆคุณสามารถใช้มันเพื่อทําลายตัวแปรหรือลบค่าในตารางมันเป็นค่าเดียวที่ไม่ใช่ false ซึ่งไม่ได้ประเมินเป็น true

Luau มีตัวรวบรวมขยะ การดำเนินการกำหนดใหม่ตัวแปรขนาดใหญ่เป็น nil ในสคริปต์ที่ทำงานเป็นเวลานานเมื่อคุณไม่ต้องการพวกมันอีกต่อไปดังนั้นตัวเก็บขยะจะลบพวกมัน


local variableToDelete = 5
print(variableToDelete) -- 5
variableToDelete = nil
print(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 = Workspace
task.wait(1)
-- ลบส่วนออกจากมุมมอง แต่ไม่ใช่จากหน่วยความจํา
part.Parent = nil
task.wait(1)
-- ส่วนยังคงมีอยู่เพราะมันได้รับการอ้างอิงโดยตัวแปร "ส่วน" ดังนั้นจึงสามารถส่งกลับไปดูได้
part.Parent = Workspace
task.wait(1)
-- ลบส่วนออกจากมุมมองอีกครั้ง
part.Parent = nil
-- ล้างการอ้างอิงส่วนเพื่อให้ถูกเก็บขึ้นโดยตัวรวบรวมขยะ
part = nil