haxe
Aufzählungen
Suche…
Syntax
- enum {Identifikator Konstruktoren}
Überblick
Die Aufzählungstypen von Haxe sind algebraische Datentypen (ADT). Sie dienen hauptsächlich zur Beschreibung von Datenstrukturen. Aufzählungen werden mit dem Schlüsselwort " enum und enthalten einen oder mehrere Aufzählungskonstruktoren .
enum Color {
Red;
Green;
Blue;
RGB(r : Int, g : Int, b : Int);
}
Die obige Aufzählung kann wie folgt instanziiert werden:
var c1 = Color.Red;
var c2 = Color.RGB(255, 0, 0);
Versuchen Sie das Beispiel auf try.haxe.org .
Verweise
Aufzählungswerte erfassen
Werte, die als Argumente für den Enumerationskonstruktor übergeben werden, können mithilfe von Mustervergleich in Variablen erfasst werden.
Nehmen Sie die folgende Aufzählung an:
enum Color {
RGB(r : Int, g : Int, b : Int);
HSV(h : Int, s : Float, v : Float);
}
Der rote Kanalwert kann wie folgt erfasst werden:
var color = Color.RGB(255, 127, 0);
var red = switch (color) {
// Match the Color.RGB constructor and capture value into `r`
case Color.RGB(r, _, _):
// Return the captured red value
r;
// Catch-all for matching remaining constructors
case _:
// Return -1
-1;
}
Versuchen Sie das Beispiel auf try.haxe.org .
Verweise
Entsprechende Enum-Konstruktoren
Aufzählungskonstruktoren können mithilfe von Pattern-Matching angepasst werden.
Nehmen Sie die folgende Aufzählung an:
enum Color {
Red;
Green;
Blue;
RGB(r : Int, g : Int, b : Int);
}
Farben mit nur einem grünen Kanalwert können wie folgt angepasst werden:
var color = Color.RGB(0, 127, 0);
var isGreenOnly = switch (color) {
// Match Green or RGB with red and blue values at 0
case Color.RGB(0, _, 0) | Color.Green: true;
case _: false;
}
Versuchen Sie das Beispiel auf try.haxe.org .