从终端调用文件时缩短文件路径

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

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

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

我想做另一件事,即:

  1. 将我的所有文件放在桌面目录myDirectory中;
  2. 然后通过终端这样调用文件dofile("file.lua");

这可能吗? 如何实现?

点赞
用户107090
用户107090

如果路径是固定的,您可以重新定义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中的路径列表中查找模块。

2015-12-21 12:15:50