lua闭包实现迭代器遍历数组

 1 --实现访问数组的迭代器
 2 function visit(t)
 3     local i = 0
 4     
 5     return function() 
 6         i = i + 1
 7         return t[i]
 8     end
 9 end    
10 
11 --要访问的数组
12 local tab = {10,5,1,5}
13 itor = visit(tab)
14 
15 while true do
16     local item = itor() 
17     if nil == item then
18         break
19     end
20     print(item)
21 end       

执行结果:

转载于:https://www.cnblogs.com/luguoshuai/p/10049346.html

你可能感兴趣的:(lua)