在 Luau 中,nil 代表不存在或沒有資料類型。它與任何其他值或資料類型不同。您可以使用它來摧毀變量或移除值在表中。它是<code> fals </code> 以外的唯一值。<code> true </code> 、1><code> false 1> 和4><code> true 4> 的
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 來有效地從體驗中移除對象。要將對象從體驗中返回後,請重新分配
-- 建立新磚塊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