我创建了这个模块。
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
但是当尝试导入并使用它时会抛出错误,有何解决方案?
我创建了这个模块。
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")
MyModule.jl
,请编辑它并粘贴模块定义。julia> Pkg.activate(".\\MyModule") #use the correct path
Activating environment at `MyModule\Project.toml`
julia> using MyModule