首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >相对路径不是相对于脚本所在的位置?Lua

相对路径不是相对于脚本所在的位置?Lua
EN

Stack Overflow用户
提问于 2021-11-01 08:13:04
回答 1查看 47关注 0票数 1

假设我的计算机上有以下结构:

代码语言:javascript
运行
复制
directory 
    a.lua
    subdirectory
        b.lua

这段Lua代码:

代码语言:javascript
运行
复制
-- a.lua
foo = "bar"

-- b.lua
dofile("../a.lua")
print(foo)

如果我现在从目录运行lua b.lua,相对路径"../a.lua"是相对于目录的,而解释器报告b.lua不存在。如果我从子目录中运行相同的命令,那么相对路径"../a.lua"是相对于子目录的,所以它可以工作。

我的问题是:为什么相对路径是相对于我们执行脚本的位置的,我如何才能使它们相对于脚本所在的位置,就像在CJS require中一样?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-01 14:11:28

这段代码(需要Lua 5.2+ )可以在任何目录下运行

代码语言:javascript
运行
复制
-- b.lua
local path = (({...})[2] or arg[0]):gsub("[^/]*$", "")
dofile(path.."../a.lua")
print(foo)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69794172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档