當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Julia Enums.@enum用法及代碼示例

用法:

@enum EnumName[::BaseType] value1[=x] value2[=y]

創建一個名為 EnumNameEnum{BaseType} 子類型和 value1value2 的枚舉成員值,可選分配的值分別為 xyEnumName 可以像其他類型和枚舉成員值一樣用作常規值,例如

例子

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 之間轉換。 readwrite 會自動執行這些轉換。如果使用非默認 BaseType 創建枚舉,則 Integer(value1) 將返回類型為 BaseType 的整數 value1

要列出枚舉的所有實例,請使用 instances ,例如

julia> instances(Fruit)
(apple, orange, kiwi)

相關用法


注:本文由純淨天空篩選整理自julialang.org 大神的英文原創作品 Base.Enums.@enum — Macro。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。