2015-12-21 47 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

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