我正在尝试在模块中使用枚举但没有成功:
# module for testing enums
module EE
export EnumTest
@enum EnumTest uu ii dd
end # module
我在repl中做了importall EE
。在此之后,我使用结果
instances(EE.EnumTest)
(uu::EE.EnumTest = 0, ii::EE.EnumTest = 1, dd::EE.EnumTest = 2)
(如预期的那样)。
当我尝试使用uu::EE.EnumTest
返回/打印值时,它只是抛出异常UndefVarError
。我不指望这个。如何使用该值?
答案 0 :(得分:4)
模块中的export
语句只会使您列出的名称可在模块外部使用。您只列出了EnumTest
- 枚举的整体类型 - 并没有列出任何实例。
您可以通过使用模块名称(EE.uu
)对其进行全面限定或将其添加到导出列表(export EnumTest, uu, ii, dd
)和using EE
来访问实例。请注意,此处不需要importall
,在0.7中的情况下,不推荐使用using
。