关于删除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 使用注意
