Avatar ·

जब मुझे पता हो कि एनम का कौन सा वेरिएंट है, तो उससे आंतरिक मान कैसे निकालूं?

नमस्ते! मैं Rust में लिख रहा हूं और एनम के साथ काम करते समय एक समस्या का सामना करना पड़ा। मेरे पास ऐसा कोड है:\n\n```rust\nenum Message {\n Text(String),\n Number(i32),\n Quit,\n}\n\nfn process(msg: Message) {\n // मुझे पक्का पता है कि msg Text(String) है\n // लेकिन मैं स्ट्रिंग कैसे प्राप्त करूं?\n let text = msg; // यहां त्रुटि है, बिल्कुल\n println!("संदेश: {}", text);\n}\n```\n\nमैं अक्सर ऐसी स्थितियों का सामना करता हूं जहां मुझे पक्का पता होता है कि मैं enum के किस वेरिएंट को प्रोसेस कर रहा हूं — उदाहरण के लिए, किसी शर्त की जांच करने के बाद या ऐसे संदर्भ में जहां प्रोग्राम का तर्क इसकी गारंटी देता है। लेकिन Rust मुझे enum को आसानी से "अनरैप" करके आंतरिक मान निकालने की अनुमति नहीं देता।\n\nमैं `match` के बारे में जानता हूं, लेकिन जब मुझे एक विशिष्ट वेरिएंट का भरोसा हो, तो सभी वेरिएंट को हैंडल करने वाला पूरा match लिखना अतिरिक्त लगता है। `if let` का उपयोग करना...