在Lua中,table如何安全的移除元素這點挺重要,因為如果不小心,會沒有正確的移除,造成內(nèi)存泄漏。
引子
比如有些朋友常常這么做,大家看有啥問題
將test表中的偶數(shù)移除掉
for i, v in ipairs( test ) do
print(i .. "====" .. v)
end
如何做呢?
Let's get started!
local function dump(table)
for k, v in pairs( table ) do
print(k)
print(v)
print("*********")
end
end
方法1 從后往前刪除
dump(test)
方法2 while刪除
方法3 quick中提供的removeItem
for k, v in pairs( remove ) do
table.removeItem(test, k)
end
dump(test)