我创建了这个模块
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
Run Code Online (Sandbox Code Playgroud)
但是当导入它使用它时它会引发错误,有什么解决方案吗?
该模块在 的空间中定义,Main因此您需要.在模块名称前添加一个点:
julia> using .MyModule
julia> my_abs(-4)
4
Run Code Online (Sandbox Code Playgroud)
请注意,这using Main.MyModule也可以工作,只是需要更多的打字。
如果您想编写using MyModule(不带点.或Main.),则需要将该模块放入 Julia 包中。你会发现很多关于创建包的文档,但最简单的步骤是:
using Pkg
Pkg.generate("MyModule")
Run Code Online (Sandbox Code Playgroud)
在文件夹 src 中,您将找到MyModule.jl,编辑它并粘贴模块定义。
现在你可以做:
julia> Pkg.activate(".\\MyModule") #use the correct path
Activating environment at `MyModule\Project.toml`
julia> using MyModule
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
42 次 |
| 最近记录: |