lua迭代
时间:2015-11-02 13:31:57
收藏:0
阅读:178
迭代
function enum(array)
local index = 1
return function() --返回迭代函数
local ret = array[index]
index = index + 1
return ret
end
end
function foreach(array, action)
for element in enum(array) do
action(element)
end
end
arr = {1, 2, 3}
foreach(arr, print)
结果是:
1
2
3
迭代是for语句的一种特殊形式,for语句可以驱动迭代函数对一个给定集合
进行遍历。正式、完备的语法说明较复杂,请参考Lua手册。
如前面代码所示:enum函数返回一个匿名的迭代函数,for语句每次调用该
迭代函数都得到一个值(通过element变量引用),若该值为nil,则for循
环结束。
原文:http://www.cnblogs.com/wrbxdj/p/4929685.html
评论(0)