我被困在一个加载几个模块而不明确需要所有这些模块的简单问题上。
我的模块是寄存器地址和默认值的表
这里是目录结构,并且每个模块包含一个表(相同的名称作为模块本身)IG A01.lua具有A01 = {}等
加载几个需要单个需求的Lua模块
main.lua
map/registers/A01.lua
map/registers/B20.lua
map/registers/C31.lua -- [100+]
map/registers/XYZ0119.lua
我可以用
local regMap = require('map.registers.A01')
regMap = require('map.registers.B20') -- and so on
加载单独的模块但这不是最佳的,因为我对他们有数百个。并且它们将被覆盖
有什么办法一次导入所有这些文件吗?
或者有什么方法可以在“需要”的基础上加载某个表?
为什么不简单地使用'ls map/registers/*。lua'? – lhf
@lhf - 在'mkdir map/registers/Misc_Modules.lua之后; touch map/registers/Misc_Modules.lua/some_module.lua' require会尝试加载'some_module'并且将无法做到这一点 –
我的想法是每当加载模块我需要任何上述文件的注册名称之一。 –