我想从名称中带有点(。)的文件夹中请求文件:
"Folder.ai/test.lua"
如果文件夹名称中没有点号,我将使用:
require(Folder.test)
当点出现时该怎么办?
[require
使用加载程序查找文件,您可以通过将函数插入package.loaders
中来添加自定义加载程序。
您的自定义加载程序可能看起来像这样:
local function load(modulename)
local errmsg = ""
for path in string.gmatch(package.path, "([^;]+)") do
local filename = string.gsub(path, "%?", modulename)
local file = io.open(filename, "rb")
if file then
-- Compile and return the module
return assert(loadstring(assert(file:read("*a")), filename))
end
errmsg = errmsg.."\n\tno file '"..filename.."' (checked with custom loader)"
end
return errmsg
end
table.insert(package.loaders, 2, load) -- this will run before the standard loader, if you want it to
-- run after you can call table.insert(package.loaders, load)