一:迭代器
1.Lua中的迭代器函数
1.1 pairs
1.2 ipairs
pairs与ipairs的区别:
——pairs是遍历表,ipairs是遍历数组(也可以遍历表)
——pairs会遍历所有不为nil的元素(如果遇到nil则跳过元素继续遍历下一个),ipairs从索引1开始遍历遇到nil则停止遍历
——遍历时先遍历默认索引的值,再遍历键值对的值
2.自定义迭代器函数
2.1 迭代器函数的执行步骤
调用迭代函数,把状态变量和控制变量作为参数传递给迭代器函数(状态变量只会在第一次调用时赋值,控制变量每次都会重新赋值)
如果迭代函数的返回值为nil,则跳出for循环。
如果迭代器的返回值不为nil,则把迭代函数的返回值赋给变量列表,并执行循环体,继续调用迭代函数。
2.2 自定义的迭代器函数