我试图在循环运行时递减 for 循环的计数器。不幸的是,Lua 似乎不允许这样做。这段代码应该永远运行:
for i = 1, 100 do
print (i)
i = i - 1
end
但事实上,它只是简单地打印系列 1-100。这是设计的吗?如果是这样,我如何减少运行循环的计数器(例如,因为当前循环被取消资格并应该再次运行)?
最佳答案
这是设计使然。来自 Lua reference manual :
3.3.5 – For Statement
All three control expressions are evaluated only once, before the loop starts. They must all result in numbers.
所以修改
i
的值循环内部不会改变循环的运行方式。
关于for-loop - 在循环执行时递减循环计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25256037/