使用lua文件来要求其他lua文件?

时间:2018-05-01 15:55:37

标签: lua require

有人可以告诉我,是否可以在lua做这样的事情? 它使用模块文件包含使用单个lua标头的其他模块文件?

--main.lua
require "std"
local test = WIDGETS[0]

--std.lua
require "std.constants" -- this is the problem its local to this file only
require "std.functions" -- this is the problem its local to this file only

-std.constants.lua
WIDGETS = 
{
   NONE,
   PANEL,
   BUTTON
}

我需要做这样的事情,所以我不必输入std.constants.WIDGET [无论]

1 个答案:

答案 0 :(得分:1)

您可以在local WIDGETS = std.constants.WIDGETS之后添加第require "std"行。然后,该文件中的所有函数都可以引用WIDGETS而不会污染全局名称空间:

-- main.lua
require "std"
local WIDGETS = std.constants.WIDGETS

local test = WIDGETS[0]
...

每个文件只需执行一次。