module机制
1 |
module "mymodule" |
等同于
1 2 3 4 5 |
local modname = “mymodule” – 定义模块名 local M = {} -- 定义用于返回的模块表 _G[modname] = M -- 将模块表加入到全局变量中 package.loaded[modname] = M -- 将模块表加入到package.loaded中,防止多次加载 setfenv(1,M) -- 将模块表设置为函数的环境表,这使得模块中的所有操作是以在模块表中的,这样定义函数就直接定义在模块表中 |