虽然之前已经提出过这个问题,但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
命令,还是有更轻量级的方法来做这个?
1 回答
要使用本地模块,必须在模块名称前加上
.
.运行
using MyModule
(没有.
)时,Julia会尝试在当前Pkg环境中找到一个名为MyModule
的模块,因此会出错 .