如何在Julia中创建模块?

我创建了这个模块

module MyModule
    export my_square, my_abs, my_minus
    my_square(x::Int64) = x * x
    my_abs(x) = (x>=0) ? x : -x
    my_add(x,y) = x + y
    my_minus(x,y) = x - y
    my_multiply(x,y) = x * y
end

但是当导入它使用它时它会引发错误,有什么解决方案吗?

回答

该模块在 的空间中定义,Main因此您需要.在模块名称前添加一个点:

julia> using .MyModule

julia> my_abs(-4)
4

请注意,这using Main.MyModule也可以工作,只是需要更多的打字。

如果您想编写using MyModule(不带点.Main.),则需要将该模块放入 Julia 包中。你会发现很多关于创建包的文档,但最简单的步骤是:

using Pkg
Pkg.generate("MyModule")

在文件夹 src 中,您将找到MyModule.jl,编辑它并粘贴模块定义。

现在你可以做:

julia> Pkg.activate(".MyModule") #use the correct path
    Activating environment at `MyModuleProject.toml`

julia> using MyModule


以上是如何在Julia中创建模块?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>