From 11166ea9fdbc75db62f0df49fe1531703168339f Mon Sep 17 00:00:00 2001 From: Sasha Koshka Date: Tue, 30 Aug 2022 05:54:26 +0000 Subject: [PATCH] Update 'Enum Type Definitions' --- Enum-Type-Definitions.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 Enum-Type-Definitions.md diff --git a/Enum-Type-Definitions.md b/Enum-Type-Definitions.md new file mode 100644 index 0000000..b64b492 --- /dev/null +++ b/Enum-Type-Definitions.md @@ -0,0 +1,30 @@ +# Syntax + +``` +enum ro Weekday:Int + sunday + monday + tuesday + wednesday + thursday + friday + +enum ro NamedColor:U32 + red 0xFF0000 + green 0x00FF00 + blue 0x0000FF +``` + +Each line under an enum represents a member and is composed of a name, and an optional initialization value. + +Enum members are accessed similarly to object members: + +``` +set day:Weekday Weekday.thursday +``` + +# Semantics +Enums "enumerate" a pre-existing type, most likely an Int. + +Enum members can have explicitly defined values, but if they don't, their value +is just incremented up from zero. The order in which members are listed in matters. \ No newline at end of file