为什么这不适用于lua?
for i = 1, 100, -1 do
print('Infinite')
end
以上循环不打印任何内容。根据我对C / C ++等传统语言的了解,上面应该是一个无限循环。 C ++等价物
for (int i = 1; i <= 100; i--)
cout << "Infinite";
我想知道lua中的for
循环究竟是如何工作的。它与上面给出的C ++相同吗?
修改:我不想知道How to make an infinite loop in lua。我更关心的是lua中的for
循环是如何工作的?
答案 0 :(得分:1)
如前所述,for循环有三个函数,就像C / C ++一样。
for i = <start>, <finish>, <increment> do
但是lua会检测到增量不允许函数结束并完全忽略这个循环 要创建无限循环,只需使用:
while true do
在lua中,将变量作为参数放在没有运算符的情况下将检查值是否存在/是否为真。如果它是假/零,那么它将不会运行。在这种情况下,true始终为true,因为它是常量,因此循环永远存在。
while true do
print('Infinite Loop')
end
答案 1 :(得分:0)
for
以检查当前值是否低于限制。由于步骤-1
为负数且当前值1
从一开始就低于限制100
,因此for
不执行循环。
答案 2 :(得分:0)
lua中的for循环具有以下语法:
for init,max/min value, increment
do
statement(s)
end
所以下面的代码将从1到10打印:
for i=10,1,-1
do
print(i)
end
要在lua中生成无限循环,您可能必须使用while循环:
while( true )
do
print("This loop will run forever.")
end