我的 Julia REPL 帮助为 LOAD_PATH 提供了以下内容:
help?> LOAD_PATH
search: LOAD_PATH
LOAD_PATH
An array of paths for using and import statements to consdier as project environments or package directories when
loading code. See Code Loading.
这是我在提示符下的 LOAD_PATH 输出:
julia> LOAD_PATH # What is the output below?
3-element Array{String,1}:
"@"
"@v#.#"
"@stdlib"
上面显示的 LOAD_PATH 输出看起来很奇怪。
有什么建议么?
你在那里看到的是DEFAULT_LOAD_PATH https://github.com/JuliaLang/julia/blob/70c7298110318cc984c230b7ce61bed7821a57bb/base/initdefs.jl#L73.
让我引用来自源代码的相关部分 https://github.com/JuliaLang/julia/blob/70c7298110318cc984c230b7ce61bed7821a57bb/base/initdefs.jl#L57:
## LOAD_PATH, HOME_PROJECT & ACTIVE_PROJECT ##
# JULIA_LOAD_PATH: split on `:` (or `;` on Windows)
# first empty entry is replaced with DEFAULT_LOAD_PATH, the rest are skipped
# entries starting with `@` are named environments:
# - the first three `#`s in a named environment are replaced with version numbers
# - `@stdlib` is a special name for the standard library and expands to its path
换句话说,
-
"@"
: 用于加载相对于当前路径的东西(这里不完全确定,请参阅下面的更新)
-
"@v#.#"
: 将成为通向v1.0
环境(假设您使用的是 1.0)。
-
"@stdlib"
:将成为标准库的路径
这可能应该在 Pkg 文档中的某个地方进行更准确的解释。头脑在那里提出问题 https://github.com/JuliaLang/Pkg.jl/issues/new? (更新:参见https://github.com/JuliaLang/Pkg.jl/issues/757 https://github.com/JuliaLang/Pkg.jl/issues/757)
UPDATE:
人们可以尝试一下该方法Base.load_path_expand(a::AbstractString)
看看事情最终会变成什么样子:
julia> Base.load_path_expand.(LOAD_PATH.*"/test")
3-element Array{String,1}:
"\\test\\Project.toml"
"C:\\Users\\carsten\\.julia\\environments\\v1.0\\test\\Project.toml"
"C:\\Users\\carsten\\.julia\\environments\\stdlib\\test\\Project.toml"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)