首页 文章

在Julia中导入自定义模块是否导致必须相对于Main引用它们?

提问于
浏览
1

我在Julia导入模块时找到these instructions,但是我的行为有些奇怪,我想知道这是否正常 .

我的文件 tst.jlTmp.jl 是:

tst.jl
    1 include("./Tmp.jl")
    2 import Main.Tmp
    3 
    4 Main.Tmp.greetings()

Tmp.jl
    1 module Tmp
    2     export greetings
    3     function greetings()
    4         println("Greetings Earthlings")
    5     end                                                                              
    6 end

但我的 tst.jl 看不到 Tmp ,除非它在 Main 之下 .

我的 LOAD_PATH 看起来也很奇怪:

julia> LOAD_PATH
3-element Array{String,1}:
 "@"      
 "@v#.#"  
 "@stdlib"

这是正常的,还是我的安装有问题?

我尝试使用JuliaBox并得到了

julia> LOAD_PATH
3-element Array{Any,1}:
 "/opt/julia-0.6.2/local/share/julia/site/v0.6"
 "/opt/julia-0.6.2/share/julia/site/v0.6"
 "/home/jrun/.julia/v0.6"

但是,那是v0.6,而我在OpenSUSE Tumbleweed上使用Julia v1.0.2 .

我从https://julialang.org/downloads/下载了二进制文件,并手动将库和所有文件移动到相应的根目录中 .

1 回答

相关问题