使用lua文件来引用其他lua文件?

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

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

--std.lua
require "std.constants" -- 这是问题,它只在本文件中可用
require "std.functions" -- 这是问题,它只在本文件中可用

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

我需要做到这样的事情,这样我就不必输入std.constants.WIDGET [whatever]

点赞
用户3349368
用户3349368

你可以在 require "std" 后添加一行 local WIDGETS = std.constants.WIDGETS。这样一来,在该文件中的所有函数都可以引用 WIDGETS 而无需污染全局命名空间:

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

local test = WIDGETS[0]
...

你只需要在每个文件中执行一次这个操作。

2018-05-01 17:14:08