Rust में ऐरे, वेक्टर या स्लाइस में एलिमेंट का इंडेक्स कैसे खोजें?
नमस्ते! मैं Rust में नया हूँ और एक सरल समस्या हल करने की कोशिश कर रहा हूँ: ऐरे में एलिमेंट का इंडेक्स ढूँढना। दूसरी भाषाओं (जैसे Python) में मैं `list.index()` जैसे मेथड्स का आदी हूँ, लेकिन Rust में सब कुछ अलग है।
यहाँ एक उदाहरण है: मेरे पास संख्याओं का एक ऐरे है, और मैं संख्या `5` का इंडेक्स ढूँढना चाहता हूँ।
```rust
fn main() {
let arr = [1, 3, 5, 7, 9];
let target = 5;
// 5 का इंडेक्स कैसे खोजें?
}
```
मैंने `arr.iter().position(|x| x == target)` का उपयोग करने की कोशिश की, लेकिन एरर आ रही है। डॉक्यूमेंटेशन में लिखा है कि `position` `Option` लौटाता है, और मुझे समझ नहीं आ रहा कि इस रिजल्ट को सही तरीके से कैसे हैंडल करूँ। साथ ही, मुझे यकीन नहीं है कि यह `Vec` और स्लाइस (`&[i32]`) के लिए काम करता है या नहीं।
एक और सवाल: अगर एलिमेंट नहीं मिलता तो क्या करें? Python में मुझे एक exception मिलता, जबकि Rust में, जैसा कि मैंने समझा, `None` को हैंडल करना होता है। लेकिन इसे सुंदर और idiomatic तरीके से कैसे करें?
मैं ऐरे, वेक्टर और स्लाइस के लिए उदाहरणों के लिए आभारी रहूँगा। मैं समझना चाहता हूँ कि Rust में यह कैसे काम करता है, खासकर ownership और borrowing सिस्टम को ध्यान में रखते हुए। पहले से धन्यवाद!