*此內容是使用 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