Avatar ·

كيفية التكرار على 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`