[Lua]闭包

参考链接:

https://blog.csdn.net/liu943367080/article/details/88951964

https://blog.csdn.net/MaximusZhou/article/details/44280109

一.定义

如果方法f1中存在方法f2,那么称f2为f1的内嵌方法,f1为f2的外包方法。外包和内嵌都具有传递性,即f2的内嵌必然是f1的内嵌,f1的外包必然是f2的外包

内嵌方法能访问外包方法中的局部变量,这些变量称为非局部变量(upvalue)

闭包由一个方法和该方法会访问到的upvalue组成。可以认为,在lua中一般定义的方法其实是闭包的一种特殊情况(无upvalue)

二.特性

1.

猜你喜欢

转载自www.cnblogs.com/lyh916/p/12239182.html