lua学习笔记08

来源:互联网 发布:网络白莲花是什么意思 编辑:程序博客网 时间:2024/06/06 09:10

迭代器与泛型for

闭包是一个内部函数,他可以访问一个或多个外部函数的外部局部变量。

闭包的结构包含两个函数:一个是闭包自己,另一个是工厂(创建闭包的函数)

实现一个list的迭代器:

function list_iter(t)local i = 0local n = table.getn(t)return function()i = i + 1if i <= n then return t[i] endendendt = {10,20,30}iter = list_iter(t)while true dolocal element = iter()if element == nil then break endprint(element)endfor element in list_iter(t) doprint(element)end


 

0 0