如何在Julia中创建一个模块?

4

我创建了这个模块。

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

但是当尝试导入并使用它时会抛出错误,有何解决方案?

1个回答

8

这个模块被定义在 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 `MyModule\Project.toml`

julia> using MyModule

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接