无法从表中删除项目(Lua)
Posted
技术标签:
【中文标题】无法从表中删除项目(Lua)【英文标题】:Can't remove an item from a table (Lua) 【发布时间】:2021-11-23 15:45:26 【问题描述】:所以我已经尝试解决这个问题一个多小时了,但仍然没有解决这个问题。所以我能问一个关于我目前正在处理的项目的问题,我无法从表 IDK 中删除项目,为什么但请帮我解决这个问题。
表:13411d36
代码
participator = "Zeroo#7497"
for i, v in pairs(participator) do
table.remove(participator, i)
end
输出
Runtime Error : org.luaj.vm2.LuaError: Zeroo#7497.lua:488: invalid key to 'next'
谁能帮助我为什么会发生这种情况以及如何解决它?
【问题讨论】:
也许这可以帮助***.com/questions/1758991/… 只需做participator[i]=nil
.
lhf 我做到了,但没有工作
【参考方案1】:
如果table.remove()
没有删除最后一个键/值对,则进行移位。
(如果键 1 被删除,键 2 变为键 1,依此类推)
这对成对来说是个问题(下一个)。
更好、更快、更安全的是倒计时,让table.remove()
删除最后一个键/值对,什么是remove函数的默认值。
这不会改变桌子。
示例:
participator = "one", "two", "three"
for i = #participator, 1, -1 do
print('Deleting:', i, table.remove(participator))
print('Size:', #participator)
end
那就是……
Deleting: 3 three
Size: 2
Deleting: 2 two
Size: 1
Deleting: 1 one
Size: 0
【讨论】:
以上是关于无法从表中删除项目(Lua)的主要内容,如果未能解决你的问题,请参考以下文章