我正在尝试创建一个 julia 语言包并在项目中使用它。
现在我只有一个 jl 文件,我不知道如何用它创建一个包。
我已阅读此内容 link但我仍然不知道该怎么做。我想用 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 可以替换为另一个受支持的默认许可证。这将在正确的位置创建文件夹并为您设置模块结构。然后,您只需将代码合并到该结构中。
编辑
这是文件 ~/.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
在第一种情况下,我没有
export
编辑任何东西。因此,当调用 using MyPackage
只有模块MyPackage
本身将提供给用户。如果我想使用 test
函数,我必须使用完全限定名称:MyPackage.test()
.在第二种情况下,我选择导出函数
test
.这发生在 export test
线上。 .现在当我调用 using MyPackage
, 两个模块 MyPackage
和函数 test
可供用户使用。我不需要使用完全限定名来访问 test
不再:test()
将工作。
关于package - julia:创建和使用没有 Internet 的本地包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29211641/