Julia中项目根目录的绝对路径

Pow*_*ers 5 julia

PROJECT_ROOT/lib/code.jl可以使用以下代码访问位于中的文件的项目根目录:

root = dirname(dirname(@__FILE__))
Run Code Online (Sandbox Code Playgroud)

使用dirname()两次似乎很丑陋。有一个更好的方法吗?使用 Ruby,我会使用以下代码:

root = File.expand_path('../', File.dirname(__FILE__))
Run Code Online (Sandbox Code Playgroud)

Dan*_*etz 5

感谢您让我了解:

"/"*relpath((@__FILE__)*"/../..","/")
Run Code Online (Sandbox Code Playgroud)

根据?relpath,它给出了从文件系统中第二个参数的位置到第一个参数的路径。这比双重dirname解决方案更好吗?

同样的优点的一个变体是:

normpath(joinpath(@__FILE__,"..",".."))
Run Code Online (Sandbox Code Playgroud)

最接近 Ruby 的等价物可能是:

realpath(dirname(@__FILE__)*"/..")
Run Code Online (Sandbox Code Playgroud)