我试图创建一个julia语言的包并将其用于项目中。
目前我只有一个jl文件,我不知道如何使用它创建包。
我已经阅读了这篇文章,但我仍然不知道如何操作。我想创建一个本地包,其中包含一个jl文件,并在我的本地项目中使用以下代码:using MyPackage
。
有人可以帮助我吗?
你应该将文件放在
~/.julia/v0.X/MyPackage/src/MyPackage.jl
这里, ~ 是你的主目录,X 是你所使用的 Julia 版本号。除非你使用的是 Julia 的开发版或夜间版,否则 X 将为 3。
还要注意,为了使其工作,文件 MyPackage.jl 应定义模块 MyPackage,并导出你想在调用 using MyPackage 后可用的定义。
要自动创建此结构,可以调用 Pkg.generate("MyPackage", "MIT"),其中 MIT 可以替换为另一种受支持的默认许可证。这将在正确的位置创建文件夹并设置模块结构,然后只需将代码合并到该结构中即可。
这是文件 ~/.julia/v0.3/MyPackage/src/MyPackage.jl
可能包含的两个示例内容:
module MyPackage
function test()
1
end
end # module
和
module MyPackage
export test
function test()
1
end
end # module
在第一种情况下,我没有导出任何内容。因此,在调用using MyPackage
时,只有模块MyPackage
本身会对用户可用。如果我想使用test
函数,我必须使用完全限定名称:MyPackage.test()
。
在第二种情况下,我选择导出test
函数。这发生在export test
行上。现在当我调用using MyPackage
时,模块MyPackage
和函数test
都对用户可用。我不需要再使用完全限定名称来访问test
: test()
就可以了。