从终端调用文件时减少文件路径

时间:2015-12-21 11:22:13

标签: macos lua terminal

我在Mac上以交互模式使用Lua(感谢rudix.org)。

当我想加载文件时,我会这样做:

dofile("/my/long/path/to/my/directory/file.lua")

我想做一件不同的事情,那就是:

  1. 将我的所有文件放在桌面目录myDirectory;
  2. 然后以这种方式从终端调用文件dofile("file.lua");
  3. 这可能吗?怎么样?

1 个答案:

答案 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.pathLUA_PATH中的路径列表中查找模块。