Rust में Option<T> के अंदर मान का संदर्भ (reference) बिना स्थानांतरण (move) के कैसे प्राप्त करें?
नमस्ते साथियों! मैं Rust में नया हूँ और एक समस्या का सामना कर रहा हूँ जो मुझे बहुत अजीब लगती है। मेरे पास एक struct है जिसमें `Option` प्रकार का एक फ़ील्ड है। मैं एक method लिखना चाहता हूँ जो इस Option के अंदर स्ट्रिंग का reference लौटाता है, यदि वह मौजूद है, या यदि नहीं है तो कुछ `None` जैसा लौटाता है।
यहाँ मेरा कोड है:
```rust
struct Person {
name: Option,
}
impl Person {
fn get_name(&self) -> &str {
// मैं यहाँ Option के अंदर String का reference कैसे प्राप्त करूं?
// self.name.unwrap() // त्रुटि: उधार लिए गए संदर्भ (borrowed context) से स्थानांतरित (move) नहीं कर सकते
// &self.name.unwrap() // यह भी काम नहीं करता
}
}
```
जब मैं `unwrap()` का उपयोग करने का प्रयास करता हूँ, तो compiler कहता है कि मैं `self.name` से मान को स्थानांतरित (move) करने का प्रयास कर रहा हूँ, लेकिन `self` केवल reference द्वारा उधार लिया गया है।