我正在编写一个lua应用程序,它将包含一个相对路径,无论lua安装在哪里,它都会将文件复制到clibs文件夹中,例如
getPath = getWhereLuaInstalled (could be C:program file(x86)lua5.1 or c:lua5.1..)
使用package.path将为我返回lua将搜索的所有路径以查找可执行文件。有什么想法吗?
感谢
看起来你是为windows机器设计的(.dll和你的示例路径表明了这一点),所以这是一个可能的解决方案。
local io = require "io"
function getWhereLuaInstalled()
local handle = io.popen('where lua')
local path = handle:read('*a'):match("(.*\)")
handle:close()
return path
end
通过将where lua
替换为which lua
,可以很容易地对linux系统进行修改。
通常只使用一个点来表示("."
)。您可以为其添加相对路径:./my/relative/path