【发布时间】:2022-01-20 17:48:45
【问题描述】:
在这段代码中:
t = {
num = '',
}
t[0].num = '0'
t[1].num = '1'
t[2].num = '2'
有没有办法让我删除t[0],然后将表的所有值向下移动,这样后记就变成了这样:
t[0].num = '1'
t[1].num = '2'
虚函数示例:
t = {
num = '',
}
t[0].num = '0'
t[1].num = '1'
t[2].num = '2'
for i=0,tableLength(t) do
print(t[i])
end
--Output: 012
remove(t[0])
for i=0,tableLength(t) do
print(t[i])
end
--Output: 12
【问题讨论】:
-
您的代码没有运行,因为 t[0] 为 nil。
-
您确定需要索引从 0 开始吗? Lua 的语义和标准库假定数组从索引 1 开始。如果您可以使数组基于 1,则可以使用
table.remove(t, 1) -
我对你最后一个问题lua.org/manual/5.4/manual.html#pdf-table.remove 的回复应该让你参考Lua 参考手册。 lua.org/manual/5.4/manual.html#pdf-table.remove 你不是通过从其他人那里获得 sn-ps 来学习 Lua。如果您学习了非常基础的知识,您可以自己想出一个解决方案或至少一半的解决方案。所以请阅读手册。