在 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 来有效地将对象从体验中移除。要将对象返回体验后您将其从体验中移除后,重新分配 1>
-- 创建一个新的砖块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