迭代器for循环
迭代器for循环一般通过一个叫迭代器(iterators)的函数工作(LUA 自带的 pairs和ipairs)。 每次迭代,迭代器函数都会被调用以产生一个新的值, 当这个值为 nil 时,循环停止。
![](http://dingyue.ws.126.net/2022/0502/a366da1fj00rb8kj1000od000gy006rp.jpg)
打开网易新闻 查看精彩图片
以下是迭代器for循环的默认执行过程:
- · 初始化,计算 迭代函数、状态值、控制值 的值;如果不赋值默认为nil。
- · 将状态值和控制值作为参数调用迭代函数
- · 将迭代函数返回的值赋给变量列表。
- · 如果返回的第一个值为nil循环结束
- · 如果返回的第一个值不为nil,把它赋值给inits 控制值
- · 回到第二步再次调用迭代函数
![](http://dingyue.ws.126.net/2022/0502/900bc994j00rb8kto001bd000gy00f0p.jpg)
打开网易新闻 查看精彩图片
热门跟贴