有人可以向我解释一下吗?
for i = 1, 5 do
print(i)
i = i - 1
print(i)
end
输出是:
1
0
2
1
3
2
and so forth
我预计 i 会在 1 和 0 之间变化。但显然它不断增加,就好像我根本没有改变它一样。这是怎么回事?
我必须时不时地删除第 i 个表元素。所以下一个要处理的元素将再次是 i 。在 C 中,我只需在循环内容的末尾编写 --i 即可。 lua有什么官方的方法吗? :)
循环索引 (i
在您的情况下)是循环体的本地变量,因此您对它所做的任何修改都不会影响循环条件或正在处理的下一个元素(对于for
loop).
如果您需要更好地控制索引以删除元素并继续处理,您应该使用while
循环形式。看对于声明部分了解详细信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)