gpt4 book ai didi

Julia 加载自定义模块时出错

转载 作者:行者123 更新时间:2023-12-04 02:18:39 25 4
gpt4 key购买 nike

我试图在 julia 中加载自定义模块,但我总是收到以下错误:

ERROR: foo not found
in require at loading.jl:47

其中 foo 是以下模块:

module foo

bar() = "foo"
export bar

end

位于“/home/.../julia/modules/”,我还添加了:

push!(LOAD_PATH, "/home/.../julia/modules/")

到我的 ~/.juliarc.jl 文件。我错过了什么?顺便说一句,我也重新安装了julia v0.3.10,没有效果。

还有一件事,如果我包含该文件,我就可以使用该模块:

> include("../modules/test.jl")
> using foo
> bar()
> "bar"

有效。不过应该没必要吧?

最佳答案

将文件命名为模块是 Julia 中的惯例,尤其是在使用 usingimport 而不包含相应的模块定义文件时。

看看函数的定义require通过 using 隐式调用以加载 loading.jl 中的包下面。

...
...
function find_in_path(name::AbstractString, wd = pwd())
isabspath(name) && return name
base = name
if endswith(name,".jl")
base = name[1:end-3]
else
name = string(base,".jl")
end
...
...

如果您运行 using foo,julia 将在 LOAD_PATH 中查找 foo.jl

关于 Julia 加载自定义模块时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32579939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com