我有一个包含 4 个值的表。
例如:
2
4
1
3
我使用一个函数逐步遍历表格寻找数字 1,并获取它在表格中的位置。
然后我使用 table.remove 从该位置删除 1。我现在想做的是压缩表格,使其长度为 3 个值
2
4
3
我对 Lua 还很陌生,所以请对我温柔点。 :)
我所拥有的差不多是这样的:
CloseRandomConsole = math.random(1,(#ConsoleTable))
If CloseRandomConsole == 1 then
for key, value in pairs(ConsoleTable) do
if value == "1" then
table.remove(ConsoleTable, key)
break
end
end
我知道哪里出了问题,但不知道如何解决。
math.random(1,(#ConsoleTable))
我只想能够在表中的一个值之间进行随机。当我随机分配该 vlue 时,我希望将其删除,这样我就剩下另外三个可供随机选择的值。
我让你困惑了吗? :)
最佳答案
table.remove(ConsoleTable, key)
确实会从表中删除一个值,从而将其大小减少 1。因此,下次调用 math.random(1,( #ConsoleTable))
,其范围也会小一。说实话,看起来你做得不错,但我不确定问题出在哪里。
编辑:这段话怎么样?
table.remove(ConsoleTable, math.random(1, #ConsoleTable))
我认为这将从表中随机删除一个“控制台”。也许你可以尝试一下,如果这不是你想要的,请详细解释哪里出了问题,我们可以尝试更多的事情。
关于lua - 从表中随机化值然后在 Lua 中将其删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4354544/