Rust में फंक्शन से नई स्ट्रिंग लौटाने का सही तरीका
नमस्ते! मैं Rust में नया हूँ और फंक्शन से स्ट्रिंग लौटाने को समझने की कोशिश कर रहा हूँ। दूसरी भाषाओं में मैं बस एक स्ट्रिंग बनाकर लौटा देता था, लेकिन Rust में ownership सिस्टम के कारण यह जटिल है।
मेरे पास एक फंक्शन है जो एक स्ट्रिंग लेता है, उसमें प्रीफिक्स जोड़ता है और नई स्ट्रिंग लौटाता है। यहाँ मेरा कोड है जो काम नहीं करता:
```rust
fn add_prefix(s: &str) -> &str {
let result = String::from("prefix_") + s;
&result
}
```
कंपाइलर एरर देता है: `cannot return reference to local variable 'result'`। मैं समझता हूँ कि `result` फंक्शन से बाहर निकलने पर डिलीट हो जाता है, लेकिन फिर नई स्ट्रिंग को सही तरीके से कैसे लौटाऊँ?
मैंने अलग-अलग विकल्प ट्राई किए:
1. `&str` के बजाय `String` लौटाना — लेकिन तब कॉल करने वाले कोड में स्ट्रिंग को फिर से बॉरो करना पड़ता है।
2. `to_string()` का उपयोग करना — लेकिन यह लगता है