كيفية تكرار جميع متغيرات التعداد (enum) في Rust
مرحباً بالجميع! لقد بدأت للتو في تعلم Rust وواجهت مشكلة. لدي تعداد يصف الألوان:
```rust
enum Color {
Red,
Green,
Blue,
Yellow,
}
```
أحتاج إلى عرض جميع الألوان الممكنة على الشاشة أو، على سبيل المثال، حفظها في vector. في لغات أخرى، مثل Java أو C#، كنت سأستخدم `values()` أو شيء مشابه. لكن في Rust لم أجد طريقة مدمجة لتكرار جميع متغيرات `enum` ببساطة.
حاولت كتابة شيء مثل:
```rust
for color in Color {
println!("{:?}", color);
}
```
لكن المترجم يشتكي من أن `Color` لا ينفذ trait `Iterator`. من الواضح أن Rust لغة نظامية ولها فلسفتها الخاصة، لكن هل حقاً لا توجد طريقة بسيطة لتكرار جميع ثوابت التعداد؟ ربما يوجد ماكرو أو مكتبة؟ أم يجب عليّ كتابة دالة يدوياً في كل مرة تعيد جميع المتغيرات؟
أرجو إرشادي إلى الطريقة الصحيحة. شكراً مسبقاً!
<<>>