模块名称与Julia中的导出类型冲突

时间:2016-05-05 17:24:08

标签: module julia

我碰巧犯了一个愚蠢的错误 - 创建一个具有其所在模块名称的类型。假设我想从我的包X中导出该类型X

module X

export X
export .X
export X.X

type X end

end

首先会给我:

ERROR: LoadError: LoadError: invalid redefinition of constant X

第二

ERROR: LoadError: LoadError: syntax: invalid identifier name "."

第三

ERROR: LoadError: LoadError: syntax: extra token "." after end of expression

是否有解决导出问题的有效语法?

P.S。我知道我可以更改模块/类型的名称。

1 个答案:

答案 0 :(得分:1)

正如Tom Breloff所说,有一种很好的做法是为实现新类型的软件包命名。如果您的软件包导出的类型支持非常小的字符串上的快速操作,并且该类型名为FastString,则建议的软件包名称为FastStrings.jl

Julia软件包的名称包括后缀.jl。对于将多个软件包打包在一起的项目,项目名称可以放弃结尾的.jl;组合在一起的软件包应以.jl结尾。

Some guidelines for naming packages are gathered here