“迭代器”是一种可以遍历一种集合中所有元素的机制。在Lua中迭代器通常表示为函数。
一个迭代器函数有两个参数,一个是状态常量,一个是控制变量。状态常量是制定迭代器迭代的总次数;控制变量是当前迭代器执行的次数。
迭代器的参数只会在最开始执行迭代器的时候传递一次。在迭代器函数执行的时候,迭代器函数每次遍历都会获取一次状态常量,而状态常量则是在迭代器中累计。
下面我们自己创建一个迭代器函数
function aquare(state,control)
if (control>=state) then
return nil
else
control=control+1
print("state:"..state)
print("control:"..control)
return control,control*control
end
end
然后我们使用我们创建的这个迭代函数进行两个for循环嵌套,来查看迭代器函数的两个参数的变化情况。
for k,v in aquare,3,0 do