尽管以前已经问过这个问题,但对于Julia V1.0中的模块而言,似乎已经发生了很大变化。
我正在尝试编写一个自定义模块并对其进行一些测试。在the Julia documentation on Pkg中,使用dev
命令可以创建git树并开始工作。
但是,这似乎有点过分了。我只想做一个小的本地文件,比如说mymodule.jl
:
module MyModule
export f, mystruct
function f()
end
struct mystruct
x::Integer
end
end # MyModule
似乎以前可以加载它
include("module.jl")
using MyModule
输入include("module.jl")
,似乎代码已加载,即没有错误,但是using MyModule
给出了错误:
ArgumentError: Package MyModule not found in current path:
- Run `import Pkg; Pkg.add("MyModule")` to install the MyModule package.
我注意到,使用include("module.jl")
时,可以使用完整路径MyModule.f()
访问导出的函数和结构,但是我想使用较短的版本,仅为f()
。
然后我的问题是:开发模块,我是否需要使用Pkg dev
命令,或者是否有更轻量的方法来执行此操作?
答案 0 :(得分:4)
要使用本地模块,必须在模块名称前加上.
。
using .MyModule
运行using MyModule
时(没有.
),Julia尝试查找安装到当前Pkg环境中的名为MyModule
的模块,因此出错。