我无法理解为什么这个Lua代码在连续循环中运行。我的印象是,它只会执行一次。任何人都可以解释一下吗?
function testCounter()
return function ()
print("test function called")
return 1
end
end
for v in testCounter() do
print(v)
end
答案 0 :(得分:2)
正如Egor Skriptunoff所说,for循环使用testCounter()返回的函数作为next
函数。因为它永远不会返回nil
,所以循环永远不会退出。