Lua用闭包实现的table迭代器
来源:互联网 发布:探测鬼魂的软件 编辑:程序博客网 时间:2024/04/30 15:33
最近学习Lua,收获颇多,现分享用闭包实现的table迭代器,闭包相关知识请参阅闭包_维基百科
以下是迭代器的代码,不足之处还请指教:
Iterator = {}function Iterator.iter(arg)if type(arg) =="table" thenlocal i = 0local n = table.getn(arg)return function()i =i+1if i<n then return arg[i] endendelse return arg endendreturn Iterator//以下是测试代码--Test.luarequire("Iterator") --import Iterator classt = {"fgasf","sdfgfsg","12","sdgg","4646"}iter = Iterator.iter(t)while true dolocal element = iter()if not element then break endprint(element)end//以下是输出>lua -e "io.stdout:setvbuf 'no'" "Test.lua" fgasfsdfgfsg12sdgg>Exit code: 0
- Lua用闭包实现的table迭代器
- 关于lua table的实现
- 关于lua table的实现
- lua的table实现以及遍历方式
- Lua中table类型的源码实现
- Lua 语言输出Table详细信息的实现
- lua Table的插入简单实现
- Lua中table类型的源码实现
- lua数据结构之table的内部实现
- Lua中实现table的打印输出(print table)
- 自己实现lua table
- lua的TABLE性质
- lua的table排序
- lua 的 table 处理
- lua的table排序
- lua的table排序
- lua table的使用
- lua table 的rehash
- 路在何方
- Rails 3.1 以后对静态文件的管理(Asset Pipeline)
- 使用log4net完成程序异常日志记录(使用SQLite数据库记录和普通文本记录)
- 简介 Linux 静态与动态链接库
- Photoshop操作工具-------参考线的运用
- Lua用闭包实现的table迭代器
- Eclipse may encounter problem on Windows 7
- C++发牌程序
- 七年IT经验的七个总结
- Oracle 10g 下载地址
- pl/sql里面null的运算
- Sicily 4835. Numbersrebmun
- 21岁的人生
- 利用ntsd手动转储程序内存