迭代器for循环

迭代器for循环一般通过一个叫迭代器(iterators)的函数工作(LUA 自带的 pairs和ipairs)。 每次迭代,迭代器函数都会被调用以产生一个新的值, 当这个值为 nil 循环停止。

打开网易新闻 查看精彩图片

 以下是迭代器for循环的默认执行过程:

以下是迭代器for循环的默认执行过程:

  • · 初始化,计算 迭代函数、状态值、控制值 的值;如果不赋值默认为nil
  • · 将状态值和控制值作为参数调用迭代函数
  • · 将迭代函数返回的值赋给变量列表。
  • · 如果返回的第一个值为nil循环结束
  • · 如果返回的第一个值不为nil,把它赋值给inits 控制值
  • · 回到第二步再次调用迭代函数

打开网易新闻 查看精彩图片