Bring back enum but using iota

This commit is contained in:
Ginger Bill
2017-01-01 16:18:50 +00:00
parent 0c6775ca14
commit 6fef74317c
13 changed files with 315 additions and 47 deletions

View File

@@ -11,11 +11,27 @@ import {
win32 "sys/windows.odin";
}
proc main() {
var x = if false {
give 123;
} else {
give 321;
};
fmt.println(x);
type Thing enum f64 {
_, // Ignore first value
A = 1<<(10*iota),
B,
C,
D,
}
proc main() {
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);
}