我在Mac上以交互模式使用Lua(感谢rudix.org)。
当我想加载文件时,我会这样做:
dofile("/my/long/path/to/my/directory/file.lua")
我想做一件不同的事情,那就是:
myDirectory
; dofile("file.lua")
; 这可能吗?怎么样?
答案 0 :(得分:1)
如果路径已修复,您只需重新定义dofile
:
local _dofile=dofile
local path=("/my/long/path/to/my/directory/")
function dofile(x)
return _dofile(path..x)
end
您可以将此(和其他初始化)放在一个文件中,并将环境变量LUA_INIT
设置为其位置。在此之后,lua
的每次调用都会看到上面重新定义的dofile
版本,用户只能说出dofile("foo.lua")
。
或者,您可以使用require
,它会在package.path
或LUA_PATH
中的路径列表中查找模块。