lua迭代
2015-11-02 11:29
501 查看
迭代
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循
环结束。
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循
环结束。
相关文章推荐
- Lua中关于求模与求余的区别介绍
- ULUA/CSTOLUA
- lua语言中与时间相关的函数总结
- Lua查找表元素过程(元表、__index方法是如何工作的)
- skynet学习一
- 机器学习模型评价(Evaluating Machine Learning Models)-主要概念与陷阱
- windows环境下用vs2012实现lua5.3.1的编译
- BabeLua LUA VS插件
- Lua中view函数的用法
- 用NDK编译lua库
- lua - math【方法】
- 8.14 Boolean Evaluation
- lua --> unexpected symbol near '?
- lua math libary
- 【lua】Lua中的table函数库
- Ulua学习笔记
- lua的类
- LUA中的and与or
- Lua - lstring
- Lua篇(第06章):Lua调用C++的函数