首页 文章

在Julia中创建和使用自定义模块

提问于
浏览
2

虽然之前已经提出过这个问题,但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 回答

  • 3

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

    using .MyModule
    

    运行 using MyModule (没有 . )时,Julia会尝试在当前Pkg环境中找到一个名为 MyModule 的模块,因此会出错 .

相关问题