【发布时间】:2019-03-07 00:58:45
【问题描述】:
我试图理解迭代器,在很多例子中我发现了这样的东西:
function square(iteratorMaxCount,currentNumber)
if currentNumber<iteratorMaxCount
then
currentNumber = currentNumber+1
return currentNumber, currentNumber*currentNumber
end
end
function squares(iteratorMaxCount)
return square,iteratorMaxCount,0 // why not return square(iteratorMAxCount,0)????
end
for i,n in squares(3)
do
print(i,n)
end
首先我不明白我评论的那一行,我也没有找到一个简单的例子来说明如何进行有状态迭代器和无状态迭代器。有谁能够帮我?谢谢
【问题讨论】:
-
你看过这个 SO 答案了吗? stackoverflow.com/questions/22724092/…
-
我还建议研究:Lua 编程:7.1 – 迭代器和闭包lua.org/pil/7.1.html
标签: lua