2015-12-21 60 views
1

我在Mac上使用Lua的交互模式(感谢rudix.org)。从终端调用文件时减少文件路径

当我想要加载一个文件我做的:

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

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

  1. 把我所有的文件在桌面目录myDirectory;
  2. 然后通过这种方式从终端调用文件dofile("file.lua");

这可能吗?怎么样?

+0

将什么文件放在桌面目录中? –

+0

带.lua扩展名的文件 –

回答

2

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

+0

这很有趣,但问题与教室有关:我不能让孩子在教学时复制长路径。我正在寻找类似环境变量的东西 –

+0

而事实上,我目前的替代者是: - ) –