Enums 模块中的枚举

Enums 模块中的枚举,enums,julia,Enums,Julia,我试图在模块内使用枚举,但没有成功: # module for testing enums module EE export EnumTest @enum EnumTest uu ii dd end # module 我在repl中输入了EE。在这之后,我用实例(EE.EnumTest)检查了枚举值的存在,并给出了结果 (uu::EE.EnumTest = 0, ii::EE.EnumTest = 1, dd::EE.EnumTest = 2) (如预期的那样) 当我试图用uu::EE.

我试图在模块内使用枚举,但没有成功:

# module for testing enums
module EE
export EnumTest
@enum EnumTest uu ii dd 
end # module
我在repl中输入了
EE
。在这之后,我用
实例(EE.EnumTest)
检查了枚举值的存在,并给出了结果

 (uu::EE.EnumTest = 0, ii::EE.EnumTest = 1, dd::EE.EnumTest = 2)
(如预期的那样)


当我试图用
uu::EE.EnumTest
返回/打印值时,它只是抛出了一个异常
UndevarError
。我没想到会这样。如何使用该值?

模块中的
export
语句只会使您列出的名称在模块外可用。您只列出了整个枚举类型
EnumTest
,而没有列出任何实例


您可以通过使用模块名(
EE.uu
)完全限定实例,或者通过使用EE将它们添加到导出列表(
export EnumTest,uu,ii,dd
)和
来访问实例。请注意,在这里不需要代码> > IUBALL < /COD>,在0.7中的例子中,使用< /COD>表示“<代码> >。< /P>所以没有办法给枚举自己一个命名空间,比如C++中的EnUM类或D与枚举,只是把它们放在(子)模块中,不导出它们。它不是自动的,但很容易做到。如果它包含在另一个模块中,您可能希望使用.EE