Module 在Julia中创建和使用自定义模块
虽然这个问题以前被问过,但是对于JuliaV1.0中的模块,似乎已经有了很大的变化 我正在尝试编写一个自定义模块并对其进行一些测试。从中,使用Module 在Julia中创建和使用自定义模块,module,julia,Module,Julia,虽然这个问题以前被问过,但是对于JuliaV1.0中的模块,似乎已经有了很大的变化 我正在尝试编写一个自定义模块并对其进行一些测试。从中,使用dev命令,可以创建git树并开始工作 然而,在这一点上,这似乎是矫枉过正。我只想做一个小的本地文件,比如说mymodule.jl,它会像: module MyModule export f, mystruct function f() end struct mystruct x::Integer end end # MyModule 似乎过
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”)
,代码似乎已加载,即没有错误,但是使用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()
我的问题是:要开发一个模块,我需要使用Pkgdev
命令还是有一种更轻量级的方法 要使用本地模块,必须在模块名称前面加上
using .MyModule
当运行使用MyModule
时(没有
),Julia试图找到安装到当前Pkg环境中的名为MyModule
的模块,因此出现错误。可能与Hi重复,很抱歉使用旧线程。我假设在include(“mymodule.jl”)
之后运行此命令?在没有包含的情况下如何使用MyModule
?问题是有些函数我不想导出,通过包含它,我仍然可以使用Main.MyModule.function\u我不想\u导入
访问它。