هل يمكن تهيئة 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؟
أرشدوني، من فضلكم، كيف يفعل المتمرسون؟