Konstanten und Aufzählungen (Enums)
Für jeder Typ können öffentliche Konstanten definiert werden. Konstanten müssen mit einem Großbuchstaben beginnen und dürfen neben Großbuchstaben nur Zahlen und Unterstriche enthalten.
RegEx: [A-Z][A-Z0-9_]
Aufzählungen (Enums)
Aufzählungen werden ohne Wert definiert und besitzen eine automatisch zugewiesene und fortlaufende Nummer.
::Foo
::FOO
::BAR
::BAK
Diese drei Konstanten können direkt über eine "Foo"-Instanz aufgerufen werden:
f = Foo
f.FOO.print
Die intern vergebene Ordnungszahl wird mit ".ordinal" abgefragt:
Foo.BAR.ordinal.print
Des weiteren lassen sich noch der Name der Konstante und der Typ abfragen:
Foo.FOO.name.print
Foo.FOO.parent.print
Foo.FOO.typename.print
Konstanten mit Wert
Neben Aufzählungen lassen sich auch feste Werte definieren. Dies geschieht entweder mit Klammern oder einem Gleichheitszeichen:
::MyColors
::RED( 0xff0000 )
::GREEN = 0x00ff00
MyColors.GREEN.print
Beim Aufrufen der Konstante wird direkt der jeweilige Wert zurückgegeben.
Konstanten besitzen, im Gegensatz zu Aufzählungen, keinen Ordinalwert.