كيفية التكرار على HashMap مع طباعة المفتاح/القيمة وحذف العناصر في Rust؟
مرحباً بالجميع! أنا مبتدئ في Rust وأحاول حل مشكلة بسيطة: لدي `HashMap`، وأريد المرور على جميع عناصرها، وطباعة أزواج "مفتاح-قيمة" على الشاشة، ثم حذف بعضها حسب شرط (مثلاً، كل القيم الأقل من 10). المشكلة أن borrow checker لا يسمح لي بفعل ذلك.
إليك الكود الخاص بي الذي لا يتم ترجمته:
```rust
use std::collections::HashMap;
fn main() {
let mut map = HashMap::new();
map.insert("apple".to_string(), 5);
map.insert("banana".to_string(), 15);
map.insert("cherry".to_string(), 3);
for (key, value) in &map {
println!("{}: {}", key, value);
if *value < 10 {
map.remove(key); // خطأ!
}
}
}
```
المترجم يعطي خطأ: `cannot borrow 'map`