Lua 闭包知识点 -- 学习过程笔记,会比较乱
2017-07-27 11:12
344 查看
local data = 100 -- data1 local function fun1() print(data) data = data+50 end data = 200 local data = 300 -- data2 local function fun2() print(data) data = data+50 end data = 400 fun1() -- 200 fun2() -- 400 fun1() -- 250 fun2() -- 450
上面代码 闭包的实际运用。
闭包是由函数和与其相关的引用环境组合而成的实体。
所有闭包并不是一个函数,我现在暂且认为闭包是一个对象(后期发现错了再该)。因为函数在运行是只有一个实例,在定义后不会在在执行期间发生变化,而闭包在运行时可以有多个实例,不同的引用环境和相同的函数组合可以产生不同的实例。
关于lua闭包大家可以看看这篇文章:
http://www.cnblogs.com/ringofthec/archive/2010/11/05/luaClosure.html
这篇文章中,有讲到lua闭包 = {环境引用, upvalue, env}组成的。
相关文章推荐
- Mysql学习笔记(一)(有点乱,但是知识点比较齐全)新手必看。
- TensorFlow学习笔记--比较细的知识点blog纪录
- Lua学习笔记之函数、变长参数、closure(闭包)、select等
- Lua中的闭包学习笔记
- 《零基础入门学习Python》学习过程笔记【020函数的局部变量和全全局变量内部函数和闭包】
- Android应用程序运行过程分析(学习笔记--ITCAST黎活明)
- kafka学习笔记:知识点整理(二)
- cocos-lua基础学习(八)Layer类学习笔记
- lua学习笔记——元表(Metatable)
- MFC学习笔记——CDialog(模态对话框及其弹出过程)
- [导入]面向对象学习笔记--面向对象和面向过程
- cocos2d-x lua 学习笔记(1) -- 环境结构
- 存储过程学习笔记
- XMPP协议学习笔记四(Openfire服务器启动过程)
- Lua学习笔记7-table的长度获取
- Java中对象的比较 == 和 equals() -Java 学习笔记 (15)
- python 学习笔记 ---返回值为函数 闭包
- JavaScript中闭包的学习笔记
- 黑马程序员----java学习笔记之数组知识点
- halcon例程学习笔记(5)----halcon中如何自己创建子过程