كيفية تحديث قيمة في HashMap قابل للتغيير في Rust؟
مرحبًا! بدأت للتو في تعلم Rust وواجهت مشكلة أثناء العمل مع `HashMap`. لدي جدول تجزئة قابل للتغيير يخزن أزواج "اسم المستخدم" -> "عدد النقاط". أريد تحديث قيمة مفتاح موجود، مثل زيادة النقاط بمقدار 10.
إليك الكود الخاص بي:
```rust
use std::collections::HashMap;
fn main() {
let mut scores = HashMap::new();
scores.insert("Alice".to_string(), 50);
scores.insert("Bob".to_string(), 30);
// أحاول تحديث نقاط Alice
let key = "Alice".to_string();
scores[key] += 10; // خطأ!
println!("{:?}", scores);
}
```
المترجم يعطي خطأ: `cannot index into a value of type HashMap`. أفهم أن `HashMap` لا ينفذ trait `IndexMut` للوصول القابل للتغيير، لكن كيف يمكنني تحديث القيمة بشكل صحيح؟ جربت استخدام `get_mut()`، لكني ما زلت مرتبكًا بشأن الاقتراض.
من فضلك، أخبرني كيف يمكن تعديل قيمة في `HashMap` بشكل صحيح في Rust؟