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` का उपयोग करना...

अभी तक कोई उत्तर नहीं।

लॉग इन करें उत्तर देने के लिए

ब्लॉग