Rust में enum मानों को पूर्णांक (i32, u64) से कैसे मैप करें?
नमस्ते साथियों! मैंने अभी Rust सीखना शुरू किया है और एक ऐसी समस्या का सामना किया है जो सरल लगती है, लेकिन मुझे कोई सुंदर समाधान नहीं मिल रहा।
मेरे पास एक `Color` एनम है जो रंगों का वर्णन करता है:
```rust
enum Color {
Red,
Green,
Blue,
}
```
मैं प्रत्येक वेरिएंट को एक पूर्णांक मान देना चाहता हूं, ताकि उदाहरण के लिए, `Red` 0 से, `Green` 1 से, और `Blue` 2 से मैप हो। और फिर मुझे चाहिए:
1. एनम वेरिएंट से संख्या प्राप्त करना (जैसे, `Color::Green` से `1` प्राप्त करना)।
2. उल्टा रूपांतरण करना: संख्या (जैसे, `2`) से `Color::Blue` वेरिएंट प्राप्त करना।
C++ या C# में मैं बस `(int)color` या `(Color)2` लिखता। Python में मैं डिक्शनरी का उपयोग करता। लेकिन Rust में टाइप्स के मामले में अधिक सख्ती है।
मैंने `as` का उपयोग करने की कोशिश की:
```rust
let c = Color::Red;
let n =