【发布时间】:2017-04-03 04:10:18
【问题描述】:
如何将传递给函数的表设置为 nil?当我尝试时
local t = {}
function deleteTable(table)
table = nil
end
deleteTable(t)
什么也没发生,t 仍然指向一个表值。有什么方法可以将传递给函数的表设置为函数内部的nil?
编辑:不尝试删除表的内容,我想要的是从函数中删除对表的引用,以便对表进行垃圾收集。由于不知道自己真正想要做什么,我说错了。
【问题讨论】:
-
也不要使用
table作为参数/变量。它会覆盖表库。这是不好的做法。 -
@warspyking 你是说隐藏/阴影吗?
-
@warspyking 我没有意识到这一点,但我并没有在我的代码中使用它;该功能只是一个示例。谢谢。
-
@deduplicator 我想我应该写它,因为它会覆盖表库的变量,但是是的。你明白了