Avatar ·

Rust में iter() और into_iter() के बीच क्या अंतर है?

नमस्ते! मैंने अभी Rust सीखना शुरू किया है और इटरेटर को समझने की कोशिश कर रहा हूँ। मैंने कुछ लेख पढ़े, लेकिन `iter()` और `into_iter()` विधियों के बीच अंतर समझ नहीं पाया। मैंने यह कोड लिखा: ```rust let numbers = vec![1, 2, 3, 4, 5]; // प्रयास 1: iter() for num in numbers.iter() { println!("{}", num); } println!("iter() के बाद: {:?}", numbers); // काम करता है // प्रयास 2: into_iter() for num in numbers.into_iter() { println!("{}", num); } println!("into_iter() के बाद: {:?}", numbers); // त्रुटि! ``` पहला भाग सामान्य रूप से काम करता है, मैं लूप के बाद `numbers` का उपयोग कर सकता हूँ। लेकिन दूसरा भाग कम्पाइलेशन त्रुटि देता है: `value used here after move`। मैंने पढ़ा कि `into_iter()` कलेक्शन को consume करता है, लेकिन व्यवहार में इसका क्या मतलब है, यह समझ नहीं आया। मैं `into_iter()` के बाद वेक्टर का उपयोग क्यों नहीं कर सकता? और प्रत्येक विधि का उपयोग किन स्थितियों में करना चाहिए? साथ ही मैंने `iter_mut()` विधि के बारे में भी सुना है, लेकिन अभी तक इसे समझ नहीं पाया। विस्तृत जानकारी के लिए आभारी रहूँगा।