*此内容使用人工智能(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 来有效地将对象从体验中移除。要将对象返回体验后您将其从体验中移除后,重新分配 1>


-- 创建一个新的砖块
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