文件模块化目标
:
- 没有声明local的变量不会加入到全局变量,而是作为模块的变量
- 访问模块变量一律使用 "模块名.变量名"的形式
- 模块中使用显示的方式访问全局变量
- 模块是只读的,外部不能修改(能不能修改,可以在加载时设置)
实现思路:
本文探讨了如何通过设置局部环境和元表来实现Lua模块化,确保模块内的变量不污染全局空间。重写require函数旨在创建只读模块,外部无法直接修改,推荐使用显示访问全局变量的方式,即在模块内部通过_G.xxxx形式访问,避免隐式访问带来的潜在问题。
1万+