كيفية العثور على فهرس عنصر في مصفوفة أو vector أو slice في Rust؟
مرحباً بالجميع! بدأت تعلم Rust مؤخراً وواجهت مهمة بسيطة للوهلة الأولى: أحتاج إلى العثور على فهرس عنصر في مصفوفة أو vector. في لغات أخرى، مثل Python أو JavaScript، يتم ذلك باستخدام دالة مدمجة واحدة مثل `.index()` أو `.findIndex()`. لكن في Rust لا أجد شيئاً مشابهاً.
إليك مثال: لدي vector من الأرقام، وأريد العثور على فهرس الرقم 42.
```rust
let numbers = vec![10, 20, 30, 42, 50];
// كيف أحصل على فهرس 42؟ كنت أتوقع شيئاً مثل numbers.index_of(42)
```
حاولت استخدام `.iter().position()`، لكنني لم أفهم كيف يعمل وماذا يُرجع. كما حاولت كتابة حلقة مع `enumerate`، لكن هذا يبدو مرهقاً. هل هناك طريقة idiomatic في Rust للعثور على فهرس عنصر في مصفوفة أو vector أو slice؟ أحتاج إلى حل للبحث حسب القيمة، وليس حسب المرجع أو مع closure. وكيف أتعامل مع حالة عدم وجود العنصر؟ سأكون ممتناً لأمثلة الكود والشروحات.
<<>>
استخدام دالة