关于“环境”的一大问题在于它是全局的,任何对它的修改都会影响程序的所有部分. 例如:若安装一个元表用于控制全局变量的访问,那么整个程序都必须遵循这个规范. 当使用某个库时,没有先声明就使用了全局变量,那么这个程序就无法运行. 在Lua中,全局变量并不需要一定是全局的.甚至可以说Lua没有全局变量. 听上去感觉很奇怪,因为我们一直都在使用全局变量.毫无疑问地,Lua一直在给程序员制造全局变量的错觉. 下面看看是怎么样制造的: 比如在下面的例子中,var1和var2 就是两个自由名字(在任何层都没有