用闭包实现ipairs
2016-12-07 17:38
204 查看
local table1 = {2,3,4,5,6} print("the first print:"); for k,v in ipairs(table1) do print(k,v) end function my_ipars(table) local key = 0 return function() key = key+1 return key,table[key] end end function My_ipars(table,callfuncN) local fun_ipars = my_ipars(table) while(1) do local key,value = fun_ipars(); if value ~= nil then if callfuncN ~= nil then callfuncN(table,key,value)--回调机制 end else break end end end local callfuncN =function(table , key, value) print("the:",type(table)," the key:",key," the value:",value); table[key] = value * value end print("my ipairs print") My_ipars(table1,callfuncN) print("my second print") for i,v in ipairs(table1) do print(i,v) end
相关文章推荐
- javascript : 用闭包实现成员变量私有的javascript bean
- javascript中巧用“闭包”实现程序的暂停执行功能
- JS闭包实现给DIV添加事件 显示二级菜单例子
- 闭包方式实现全选
- 闭包(Closure)详解及Javascript静态变量实现分析
- Javascript用闭包实现领域建模
- js实现选项卡效果(利用闭包方式)
- js 用闭包实现 curry化
- 使用闭包写Fibonacci数组的实现
- javascript中巧用“闭包”实现程序的暂停执行功能
- JavaScript闭包其二:闭包的实现
- Perl 闭包实现简单OO
- Lua用闭包实现的table迭代器
- mathematica实现闭包
- Groovy探索之闭包 七 使用闭包来实现模板方法模式
- 探索之闭包 七 使用闭包来实现模板方法模式
- C# 中编译器是如何实现闭包的
- Perl 闭包模拟类实现二叉树
- 如果你的编程语言没有变量捕获功能,如何实现闭包?
- js闭包实现块级作用域和私有变量的访问