Lua(十一)——迭代器

一:迭代器

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 自定义的迭代器函数

 

猜你喜欢

转载自blog.csdn.net/LLLLL__/article/details/89010611