Avatar ·

Rust में एक ही संरचना में मान और उसके संदर्भ को क्यों नहीं रखा जा सकता?

सभी को नमस्कार! मैंने Rust सीखना शुरू किया है और एक समस्या का सामना किया जिसे मैं कई दिनों से हल नहीं कर पा रहा हूँ। मैं कॉन्फ़िगरेशन फ़ाइलों के लिए एक पार्सर लिख रहा हूँ। मेरे पास एक `Parser` संरचना है जो एक स्ट्रिंग से डेटा पढ़ती है और शब्दों पर एक iterator प्रदान करती है। यहाँ सरलीकृत कोड है: ```rust struct Parser { data: String, words: Vec<&str>, // data पर संदर्भ } impl Parser { fn new(input: &str) -> Self { let data = input.to_string(); let words: Vec<&str> = data.split_whitespace().collect(); Parser { data, words } // त्रुटि! } } ``` कंपाइलर त्रुटि देता है: `cannot move out of 'data' because it is borrowed`। मैं समझता हूँ कि `words` में `data` के संदर्भ हैं, लेकिन `data` और `words` एक ही संरचना में हैं! क्या Rust को यह नहीं समझना चाहिए कि वे एक साथ रहते हैं? मैंने विभिन्न विकल्प आज़माए: `Rc` का उपयोग करना, फ़ील्ड का क्रम बदलना, lifetime जोड़ना — कुछ भी मदद नहीं करता। शायद मैं संरचना को गलत तरीके से डिज़ाइन कर रहा हूँ? Rust में एक ही संरचना में मान और उसके संदर्भ को कैसे रखा जाए?