Avatar ·

Wie kann man in Rust alle Varianten einer Enumeration (Enum) in einer Schleife durchlaufen?

Hallo! Ich habe gerade angefangen, Rust zu lernen, und bin auf ein Problem gestoßen. Ich habe eine Enumeration, die Farben beschreibt:\n\n```rust\nenum Color {\n Red,\n Green,\n Blue,\n Yellow,\n}\n```\n\nIch muss alle möglichen Farben in der Konsole ausgeben, aber ich verstehe nicht, wie das geht. In anderen Sprachen (z.B. Python oder Java) würde ich einfach eine for-Schleife verwenden oder eine Liste aller Werte abrufen, aber in Rust finde ich keine eingebaute Möglichkeit.\n\nIch habe versucht, so etwas zu schreiben:\n\n```rust\nfor color in Color {\n println!("{:?}", color);\n}\n```\n\nAber der Compiler gibt einen Fehler aus: `Color` implementiert das `Iterator`-Trait nicht.\n\nIch habe gehört, dass Rust eine Sprache ohne Laufzeit-Reflexion ist, und möglicherweise sind Enumerationen nicht für Iterationen gedacht. Aber es kommt mir seltsam vor, dass es in einer statisch typisierten Sprache keine Möglichkeit gibt.