Wie man in Rust alle Varianten einer Enumeration (enum) durchläuft?
Hallo zusammen! Ich habe gerade angefangen, Rust zu lernen, und bin auf ein Problem gestoßen. Ich habe eine Enumeration, die Farben beschreibt:
```rust
enum Color {
Red,
Green,
Blue,
Yellow,
}
```
Ich muss alle möglichen Farben auf dem Bildschirm ausgeben oder zum Beispiel in einem Vektor speichern. In anderen Sprachen wie Java oder C# würde ich `values()` oder etwas Ähnliches verwenden. Aber in Rust habe ich keine eingebaute Möglichkeit gefunden, einfach alle Varianten eines `enum` zu durchlaufen.
Ich habe versucht, so etwas zu schreiben:
```rust
for color in Color {
println!("{:?}", color);
}
```
Aber der Compiler beschwert sich, dass `Color` das `Iterator`-Trait nicht implementiert. Klar, Rust ist eine systemnahe Sprache und hat ihre eigene Philosophie, aber gibt es wirklich keinen einfachen Weg, alle Konstanten einer Enumeration zu durchlaufen? Vielleicht gibt es ein Makro oder eine Bibliothek? Oder muss ich jedes Mal manuell eine Funktion schreiben, die alle Varianten zurückgibt?
Bitte sagt mir, wie man das richtig macht. Vielen Dank im Voraus!
<<>>
Lösung: Verwende die
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen