Avatar ·

Rust में enum मानों को पूर्णांक (i32, u64) से कैसे मैप करें?

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