理解lua的闭包

来源:互联网 发布:如何定义一个新数组 编辑:程序博客网 时间:2024/05/20 10:12

不知道c++的lambda和lua的闭包是谁先谁后,

不过就我来说,是先学了c++,最近才接触到现代lua。


因此把一切向c++看齐,会不自觉地把一切和c++做对比。

就闭包来说,不就是c++的lambda嘛!

所谓upvalue,也就是一开始按引用捕获,在变量退出生命期时,

拷贝到Functor的成员变量里来,变成了按值捕获。


这算是解释性语言特有的灵活性吧,变量可以在运行时按解释器的便利来移动位置,

而不必像苦哈哈的编译性语言,一旦决定好位置,就无法移动了。

0 0
原创粉丝点击