【发布时间】:2016-03-22 21:48:36
【问题描述】:
我在 lua 中尝试这个:
for i = 1, 10,1 do
print(i)
i = i+2
end
我希望得到以下输出:
1,4,7,10
但是,i 似乎没有受到影响,所以它给了我:
1,2,3,4,5,6,7,8,9,10
谁能告诉我一些背景概念以及修改计数器变量的正确方法是什么?
【问题讨论】:
-
如您所见,对循环变量的更改在每次迭代时都会被覆盖。您需要使用 while 循环,并设置计数器并自行递增。
-
此外,您可以制作自己的生成器并使用通用的 for 循环,我会举个例子,但我不确定该方法有多可取。
-
这在
lua中并非严格重复。引用的问题只需要通过一个 for 循环递减,这可以通过标准语法for i=start,stop,step实现。这个问题与在循环中修改迭代器有关。
标签: lua