我正在尝试创建 Julia 语言的包并在项目中使用它。
现在我只有一个 jl 文件,我不知道如何用它创建一个包。
我读过这个link http://julia.readthedocs.org/en/latest/manual/packages/但我还是不知道该怎么做。我想使用 jl 文件创建一个本地包,并使用以下代码在我自己的本地项目中使用它:using MyPackage
.
有人可以帮助我吗?
你应该把文件放入
〜/.julia/v0.X/MyPackage/src/MyPackage.jl
其中 ~ 是您的主目录,X 是您正在使用的 Julia 的版本号。 X 将为 3,除非您使用的是 Julia 的开发版或夜间版本,在这种情况下它将为 4。
另请注意,为此,文件 MyPackage.jl 应定义模块 MyPackage 并导出您希望在使用 MyPackage 调用后可用的定义。
要自动创建此结构,您可以调用 Pkg.generate("MyPackage", "MIT"),其中 MIT 可以替换为另一个受支持的默认许可证。这将在正确的位置创建文件夹并为您设置模块结构。然后您只需将代码合并到该结构中即可。
EDIT
以下是该文件的两个可能内容的示例~/.julia/v0.3/MyPackage/src/MyPackage.jl
:
module MyPackage
function test()
1
end
end # module
and
module MyPackage
export test
function test()
1
end
end # module
在第一种情况下我没有export
编辑任何东西。因此,当调用using MyPackage
仅模块MyPackage
其本身将可供用户使用。如果我想使用test
函数,我必须使用完全限定名称:MyPackage.test()
.
在第二种情况下我选择导出函数test
。这件事发生在线上export test
。现在当我打电话时using MyPackage
,两个模块MyPackage
和函数test
可供用户使用。我不需要使用完全限定名称来访问test
不再:test()
将工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)