在Julia

时间:2018-10-20 20:50:49

标签: module julia

尽管以前已经问过这个问题,但对于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 个答案:

答案 0 :(得分:4)

要使用本地模块,必须在模块名称前加上.

using .MyModule

运行using MyModule时(没有.),Julia尝试查找安装到当前Pkg环境中的名为MyModule的模块,因此出错。