Avatar ·

هل يمكن تهيئة HashMap في Rust بشكل أكثر اختصارًا وتصريحيًا؟

مرحبًا بالجميع! لقد بدأت للتو في تعلم Rust وواجهت مشكلة: أحتاج إلى إنشاء HashMap يحتوي على عدة أزواج مفتاح-قيمة محددة مسبقًا. ما أكتبه حاليًا يبدو مطولًا جدًا: ```rust use std::collections::HashMap; let mut scores = HashMap::new(); scores.insert(String::from("Blue"), 10); scores.insert(String::from("Yellow"), 50); scores.insert(String::from("Red"), 25); ``` هذا يأخذ 6 أسطر لثلاثة أزواج! في Python يمكنني كتابة `{"Blue": 10, "Yellow": 50, "Red": 25}` — في سطر واحد. في JavaScript — `{Blue: 10, Yellow: 50, Red: 25}`. أما في Rust فعليّ كتابة الكثير من الكود التكراري. حاولت استخدام ماكرو `vec![]` ثم `.into_iter().collect()`، لكن هذا لا يبدو صحيحًا تمامًا. هل يوجد ماكرو مدمج `hashmap!{}` أو طريقة أخرى لجعل التهيئة أكثر اختصارًا وتصريحيًا؟ ربما يوجد crate يضيف هذا؟ أم أنني فقط لا أتبع الأسلوب الاصطلاحي لـ Rust؟ أرشدوني، من فضلكم، كيف يفعل المتمرسون؟