Lua的function、closure和upvalue
Lua 中的函数是一阶类型值(first-class value),定义函数就象创建普通类型值一样(只不过函数类型值的数据主要是一条条指令而已),所以在函数体中仍然可以定义函数。假设函数f2定义在函数f1中,那么就称f2为f1的内嵌(inner)函数,f1为f2的外包(enclosing)函数,外包和内嵌都具有传递性,即f2的内嵌必然是f1
的内嵌,而f1的外包也一定是f2的外包。内嵌函数可以
转载
2014-06-30 22:56:09 ·
964 阅读 ·
0 评论