在Lua 5.1中的模块中覆盖功能

时间:2016-04-04 06:48:33

标签: lua

我正在编写一个Lua程序,其中有许多模块彼此独立。每个模块都将相关源文件保存在其文件夹中。我想要的是覆盖每个模块中的require函数,以便在调用require时,加载模块文件夹中的文件。

假设我有以下模块,每个模块都有一个名为utils.lua的文件:

src
├── module1
│   ├── main.lua
│   └── utils.lua
├── module2
│   └── utils.lua
├── module3
│   └── utils.lua
└── utils.lua

我在写module1.main。我希望能够写出像

这样的东西
require 'utils' -- load module1.utils actually.

-- Do something...

有什么好主意吗?

注意:我需要require因为我有一些自定义搜索者。

1 个答案:

答案 0 :(得分:0)

为什么不写作?

local utils = require "module1.utils"

如果您不选择这样做,更改要求行为的正确方法是将您自己的功能添加到package.loaders