Lua 5.1中模块中的重写函数

Lua 5.1中模块中的重写函数,lua,Lua,我正在编写一个Lua程序,其中有许多相互独立的模块。每个模块都在其文件夹中保存相关的源文件。我想要的是覆盖每个模块中的require函数,以便在调用require时,加载模块文件夹中的文件 假设下面有模块,每个模块都有一个名为utils.lua的文件: src ├── module1 │   ├── main.lua │   └── utils.lua ├── module2 │   └── utils.lua ├── module3 │   └── utils.lua └── utils.lu

我正在编写一个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
,因为我有一些自定义搜索工具。

为什么不写呢

local utils = require "module1.utils"
如果您不选择这样做,更改require行为的正确方法是将您自己的函数添加到