From 6fef74317cdd0e403fb913ebe965dc08b3dfb22d Mon Sep 17 00:00:00 2001 From: Ginger Bill Date: Sun, 1 Jan 2017 16:18:50 +0000 Subject: Bring back `enum` but using iota --- code/demo.odin | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) (limited to 'code') diff --git a/code/demo.odin b/code/demo.odin index 422b68c77..bd4ab5dcd 100644 --- a/code/demo.odin +++ b/code/demo.odin @@ -11,11 +11,27 @@ import { win32 "sys/windows.odin"; } +type Thing enum f64 { + _, // Ignore first value + A = 1<<(10*iota), + B, + C, + D, +} + proc main() { - var x = if false { - give 123; - } else { - give 321; - }; - fmt.println(x); + var ti = type_info(Thing); + match type info : type_info_base(ti) { + case Type_Info.Enum: + for var i = 0; i < info.names.count; i++ { + if i > 0 { + fmt.print(", "); + } + fmt.print(info.names[i]); + } + fmt.println(); + } + + fmt.println(Thing.A, Thing.B, Thing.C, Thing.D); + } -- cgit v1.2.3