在Lua中,table如何安全的移除元素这点挺重要,因为如果不小心,会没有正确的移除,造成内存泄漏。
引子
比如有些朋友常常这么做,大家看有啥问题
将test表中的偶数移除掉
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)
新闻热点
疑难解答