Как в Rust перебрать все варианты перечисления (enum) в цикле?
مرحبًا! لقد بدأت للتو في تعلم Rust وواجهت مشكلة. لدي تعداد يصف الألوان:
```rust
enum Color {
Red,
Green,
Blue,
Yellow,
}
```
أحتاج إلى طباعة جميع الألوان الممكنة في وحدة التحكم، لكنني لا أفهم كيفية القيام بذلك. في لغات أخرى (مثل Python أو Java) كنت سأستخدم ببساطة حلقة for أو أحصل على قائمة بجميع القيم، لكن في Rust لا أجد طريقة مدمجة.
حاولت كتابة شيء مثل:
```rust
for color in Color {
println!("{:?}", color);
}
```
لكن المترجم يعطي خطأ: `Color` لا ينفذ الخاصية `Iterator`.
سمعت أن Rust هي لغة بدون انعكاس في وقت التشغيل، وربما لم تصمم التعدادات للتكرار. لكن يبدو غريبًا بالنسبة لي أنه في لغة ذات أنواع ثابتة لا توجد طريقة لتكرار جميع الخيارات. ربما أفتقد شيئًا ما؟ هل هناك ماكرو أو مكتبة تسمح بذلك؟
أرجو إرشادي، من فضلك، حول كيفية حل هذه المشكلة بشكل صحيح. أحتاج تحديدًا إلى تكرار جميع الخيارات.