我在Mac上使用Lua的交互模式(感谢rudix.org)。从终端调用文件时减少文件路径
当我想要加载一个文件我做的:
dofile("/my/long/path/to/my/directory/file.lua")
我想要做不同的事情,那就是:
- 把我所有的文件在桌面目录
myDirectory
; - 然后通过这种方式从终端调用文件
dofile("file.lua")
;
这可能吗?怎么样?
我在Mac上使用Lua的交互模式(感谢rudix.org)。从终端调用文件时减少文件路径
当我想要加载一个文件我做的:
dofile("/my/long/path/to/my/directory/file.lua")
我想要做不同的事情,那就是:
myDirectory
;dofile("file.lua")
;这可能吗?怎么样?
如果路径是固定的,你可以重新定义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
的路径列表中寻找模块。
这很有趣,但问题与教室有关:我不能让孩子在教学时复制长路径。我正在寻找类似环境变量的东西 –
而事实上,我目前的替代者是: - ) –
将什么文件放在桌面目录中? –
带.lua扩展名的文件 –