如何删除lua中的引用表?
如何删除我引用的表以清除内存 例如 将b设置为nil只会删除引用,因此如何仅使用b删除它引用的表?您不这样做 如果有人引用了该表,那么他们就引用了该表。Lua不会给你单方面移除他人物品的权力 现在,您可以通过让某人间接使用表来尝试这样做:如何删除lua中的引用表?,lua,Lua,如何删除我引用的表以清除内存 例如 将b设置为nil只会删除引用,因此如何仅使用b删除它引用的表?您不这样做 如果有人引用了该表,那么他们就引用了该表。Lua不会给你单方面移除他人物品的权力 现在,您可以通过让某人间接使用表来尝试这样做: a = {{"a"}} b = a a[1][1] == "a" --How to access the table. b[1] = nil a[1][1] == "a" --Runtime failure, due to `nil` access. 通常情
a = {{"a"}}
b = a
a[1][1] == "a" --How to access the table.
b[1] = nil
a[1][1] == "a" --Runtime failure, due to `nil` access.
通常情况下,此类用途是名称而不是数字:
a = {name = {"a"}}
b = a
a.name[1] == "a" --How to access the table.
b.name = nil
a.name[1] == "a" --Runtime failure, due to `nil` access.
但不管怎样,这都不会阻止某人这样做:
a = {name = {"a"}}
b = a
local c = a.name --Local storage
a.name[1] == "a" --How to access the table.
b.name = nil
c[1] == "a" --Still works
Lua通常没有能力让您访问其他人的数据并使用他们的资料。谢谢,这个替代示例非常有用!理论上,您可以手动搜索所有内容以查找引用并断开它们的连接。不过,这并没有实际用途。
a = {name = {"a"}}
b = a
local c = a.name --Local storage
a.name[1] == "a" --How to access the table.
b.name = nil
c[1] == "a" --Still works