Lua中的_G 和_ENV

来源:互联网 发布:中国最帅的程序员 编辑:程序博客网 时间:2024/06/06 00:50

_ENV 与 _G
在每一个chunk被加载时,_ENV会被初始化为_G(在代码的最前面编译器会自动添加local _ENV = _G这一行),而chunk里面的free variable比如说“var = 10”会被compiler替换成_ENV.var = 10,也就相当于是_G.var = 10,而_G和_ENV都是一个table,所以可以说是在_G中创建了一个叫var的变量,其值被赋予10.

0 0