用法:
@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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。