Avatar ·

Rust में Vec<T> से स्लाइस (slice) प्राप्त करने का तरीका: पूर्ण गाइड

सभी को नमस्ते! मैंने Rust सीखना शुरू किया है और वेक्टर के साथ काम करते समय एक समस्या का सामना किया। मेरे पास `Vec` है, और मैं इसके तत्वों का एक उपसमूह प्राप्त करना चाहता हूँ — यानी एक स्लाइस (slice)। उदाहरण के लिए, मैं डेटा प्रोसेसिंग के लिए एक प्रोग्राम लिख रहा हूँ जहाँ संख्याओं का एक वेक्टर है, और मुझे केवल पहले तीन तत्वों या 2 से 5 की रेंज के साथ काम करना है। मैंने अलग-अलग तरीके आज़माए, लेकिन कंपाइलर त्रुटियाँ देता है। यहाँ मेरा कोड है: ```rust fn main() { let numbers = vec![10, 20, 30, 40, 50, 60]; // इंडेक्स 1..3 (20, 30, 40) के साथ स्लाइस प्राप्त करना चाहता हूँ let slice = numbers[1..4]; // त्रुटि! println!("{:?}", slice); } ``` कंपाइलर `Index` और `Range` ट्रेट्स के बारे में कुछ कहता है — मैं पूरी तरह से नहीं समझता कि इसका क्या मतलब है। साथ ही, मैंने सुना है कि `&[T]` और `Vec` के बीच अंतर है, लेकिन उन्हें सही तरीके से कैसे बदलें? और क्या स्लाइस में तत्वों को बदलना संभव है यदि मूल वेक्टर mutable है? कृपया विशिष्ट उदाहरणों के साथ समझाएँ: 1. immutable स्लाइस सही तरीके से कैसे प्राप्त करें? 2. mutable स्लाइस कैसे प्राप्त करें?