无法从表中删除项目(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)的主要内容,如果未能解决你的问题,请参考以下文章

从表中删除行(无法读取null的属性'data')

如何从表中删除分区?

在Oracle中从表中删除重复行

一段时间后从表中删除行

Lua如何从表中获取数据

无法从表中显示最大工资(测试)