我碰巧犯了一个愚蠢的错误 - 创建一个具有它所在模块名称的类型.假设我想X从我的包中导出该类型X:
module X
export X
export .X
export X.X
type X end
end
Run Code Online (Sandbox Code Playgroud)
首先会给我:
ERROR: LoadError: LoadError: invalid redefinition of constant X
Run Code Online (Sandbox Code Playgroud)
第二:
ERROR: LoadError: LoadError: syntax: invalid identifier name "."
Run Code Online (Sandbox Code Playgroud)
第三:
ERROR: LoadError: LoadError: syntax: extra token "." after end of expression
Run Code Online (Sandbox Code Playgroud)
是否有一个有效的语法来解决我的导出问题?
PS我知道我可以更改模块/类型的名称.
正如Tom Breloff所说,为实现新类型的包命名有一个很好遵循的做法。如果您的包导出的类型支持对非常小的字符串进行非常快速的操作,并且该类型名为FastString,则建议的包名称为FastStrings.jl。
Julia 包名称包含.jl后缀 .. 你的也应该包含后缀。对于将多个包集中在一个伞下的项目,项目名称可能会放弃尾随.jl; 它汇集在一起的包应该以.jl.