LUA module
lua语言中module接口用于定义一个模块, 将模块的实现封装到一个文件中,
开放的 函数 和 数据, 不以local标识,然后在其他文件中, 引用此模块, 使用模块名(一个命名空间)调用开放API。
其模块化作用, 同 在一个文件中定义一个变量table, 然后给变量定义 开放API作为属性,
最后在 return 此变量的方法类似。
均为避免污染全局 变量 _G
module 实例代码
可以看出 AB模块打印互不影响, 但是 另外一个文件对 A模块的注释,重名了但是没有报错,为遗憾点。
-- file A - moduleA.lua local print = print module ("printA") function printTest() print("module in printAa print") end -- file B - moduleB.lua local print = print module ("printB") function printTest() print("module in printB print") end -- file Aa - moduleAa.lua local print = print module ("printA") function printTest() print("module in printA print") end -- file CALL require "moduleA" require "moduleAa" require "moduleB" printA.printTest(); printB.printTest();