所以我已经尝试解决这个问题一个多小时了,但仍然没有解决这个问题。那么我可以问一个关于我目前正在开发的项目的问题吗?我无法从表中删除项目(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'
有人可以帮助我为什么会发生这种情况以及如何解决它吗?
最佳答案
如果 table.remove()
没有删除最后一个键/值对,则进行移位。
(如果 key 1 被移除, key 2 就会变成 key 1,依此类推)
这是成对的问题(下一个)。
更好、更快、更安全的是进行倒计时,然后让 table.remove()
删除最后一个键/值对,这是删除函数的默认值。
这不会移动 table 。
示例:
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 - 无法从表中删除项目 (Lua),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69415278/