用法:
@enum EnumName[::BaseType] value1[=x] value2[=y]
创建一个名为 EnumName
的 Enum{BaseType}
子类型和 value1
和 value2
的枚举成员值,可选分配的值分别为 x
和 y
。 EnumName
可以像其他类型和枚举成员值一样用作常规值,例如
例子
julia> @enum Fruit apple=1 orange=2 kiwi=3
julia> f(x::Fruit) = "I'm a Fruit with value: $(Int(x))"
f (generic function with 1 method)
julia> f(apple)
"I'm a Fruit with value: 1"
julia> Fruit(1)
apple::Fruit = 1
也可以在 begin
块内指定值,例如
@enum EnumName begin
value1
value2
end
BaseType
,默认为
,必须是 Int32
Integer
的原始子类型。成员值可以在枚举类型和 BaseType
之间转换。 read
和 write
会自动执行这些转换。如果使用非默认 BaseType
创建枚举,则 Integer(value1)
将返回类型为 BaseType
的整数 value1
。
要列出枚举的所有实例,请使用 instances
,例如
julia> instances(Fruit)
(apple, orange, kiwi)
相关用法
- Julia splice!用法及代码示例
- Julia @cfunction用法及代码示例
- Julia LibGit2.count用法及代码示例
- Julia LinearAlgebra.BLAS.dot用法及代码示例
- Julia break用法及代码示例
- Julia sizeof()用法及代码示例
- Julia :<=用法及代码示例
- Julia zero()用法及代码示例
- Julia rem用法及代码示例
- Julia ...用法及代码示例
- Julia setfield()用法及代码示例
- Julia rpad用法及代码示例
- Julia sort用法及代码示例
- Julia tail用法及代码示例
- Julia cis方法用法及代码示例
- Julia SparseArrays.spdiagm用法及代码示例
- Julia Distributed.procs方法用法及代码示例
- Julia Filesystem.mkpath用法及代码示例
- Julia cld用法及代码示例
- Julia sqrt方法用法及代码示例
- Julia LinearAlgebra.bunchkaufman用法及代码示例
- Julia union!用法及代码示例
- Julia Iterators.partition用法及代码示例
- Julia findfirst方法用法及代码示例
- Julia Test.@test_skip用法及代码示例
注:本文由纯净天空筛选整理自julialang.org 大神的英文原创作品 Base.Enums.@enum — Macro。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。