如何在Lua中擦除或重置表

我该如何在 Lua 中完全清空或重置一张表格。最终我想把它变成一个空白的表格。

原文链接 https://stackoverflow.com/questions/4953366

点赞
stackoverflow用户108741
stackoverflow用户108741

如果它是一个数组,则使用table.remove()删除值。

if type(t) == "table" then
  for i=#t,1,-1 do
    table.remove(t,i)
  end
end
2011-02-10 04:48:55
stackoverflow用户483603
stackoverflow用户483603

这种方法怎么样?

t = {..一些非空的表..}
...一些代码...
t={}
2011-02-10 12:33:29
stackoverflow用户6087479
stackoverflow用户6087479

这将创建一个名为't'的新表,并删除旧值:

t = {1, 2, 3}
t = {}
collectgarbage()

这个将删除表的所有值,最终你将没有这个表:

t = {1, 2, 3}
t = nil
collectgarbage()
2017-05-17 13:15:37