关于删除table的坑

ta = {1,2,3}

t = {}

table.insert(t,ta)

table.remove(t,1)

如果1处位置是表,那么这里仅仅是删除t对于位于1位置的ta的引用。 ta 本身还存在。

如果不是使用remove,而直接使用t[1] = nil, 那么仅仅是将t将出现问题,print的结果是什么都没有(即便t中还有别的元素),但打印#t,长度却没有改变。而ta仍然健在。所以要避免使用t[1] = nil这样的用法。

另外,如果 :

taa = ta

taa = nil

那么taa是nil,ta仍然健在

Lua 使用注意

发表评论

电子邮件地址不会被公开。 必填项已用*标注

浙公网安备 33010602005964号