nil

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

在 Luau 中,nil 表示不存在或虚无。它与其他任何值或数据类型都不同。您可以使用它来销毁变量或从表中移除值。它是唯一一个除了 false 以外不会被评估为 true 的值。

Luau 有一个 垃圾收集器,会移除任何不再被任何脚本访问的数据。为了获得最佳性能,在长时间运行的脚本中当您不再需要大变量时,将其重新定义为 nil,以便垃圾收集器能够将其移除。


local variableToDelete = 5
print(variableToDelete) -- 5
variableToDelete = nil
print(variableToDelete) -- nil
local dictionaryTable = {
Monday = 1,
Tuesday = 2,
Wednesday = 3
}
-- 输出 'Tuesday' 键的值
print(dictionaryTable.Tuesday) -- 2
-- 清除 'Tuesday' 键
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" 引用,所以可以返回以查看
part.Parent = Workspace
task.wait(1)
-- 再次从视图中移除部分
part.Parent = nil
-- 清除部分引用,以便被垃圾收集器回收
part = nil
©2026 Roblox Corporation、Roblox、Roblox 标志及 Powering Imagination 是我们在美国及其他国家或地区的注册与未注册商标。