LUA 模块化编程例子

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();