【问题标题】:Reduce file path when calling a file from terminal从终端调用文件时减少文件路径
【发布时间】:2015-12-21 21:13:59
【问题描述】:

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

当我想加载文件时:

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

我想做点不一样的,那就是:

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

这可能吗?怎么样?

【问题讨论】:

  • 桌面目录下放什么文件?
  • 带有 .lua 扩展名的文件

标签: macos lua terminal


【解决方案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 的路径列表中查找模块。

【讨论】:

  • 这很有趣,但问题与教室有关:我不能让孩子在教学时复制长路径。我正在寻找类似环境变量的东西
  • 而且,事实上,我目前的替代方案是 require :-)
猜你喜欢
  • 1970-01-01
  • 2016-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-11
  • 2015-06-13
  • 1970-01-01
  • 2022-12-21
相关资源
最近更新 更多