加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

lua叠代器

发布时间:2020-12-14 21:42:55 所属栏目:大数据 来源:网络整理
导读:注意:叠待值遇到nil就退出 叠代器,是符合for遍历框架,需要满足条件 1-叠代函数,常量,控制变量 2-叠代函数可以接受二个参数,当然也可以忽略处理(利用闭包封装参数作为控制变量和状态变量) 无状态示例 function iter (a ,i ) ? ? i = i + 1 ? ? local

注意:叠待值遇到nil就退出

叠代器,是符合for遍历框架,需要满足条件

1-叠代函数,常量,控制变量

2-叠代函数可以接受二个参数,当然也可以忽略处理(利用闭包封装参数作为控制变量和状态变量)

无状态示例

function iter (a,i)
? ? i = i + 1
? ? local v = a[i]
? ? if v then
? ? ? ?return i,v
? ? end
end
?
function ipairs (a)
? ? return iter,a,0
end

多状态示例

array = {"Google","Runoob"}

function elementIterator (collection)
? ?local index = 0
? ?local count = #collection
? ?-- 闭包函数
? ?return function ()
? ? ? index = index + 1
? ? ? if index <= count
? ? ? then
? ? ? ? ?-- ?返回迭代器的当前元素
? ? ? ? ?return collection[index]
? ? ? end
? ?end
end

for element in elementIterator(array)
do
? ?print(element)
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读