المعدودات ببيانات (Enumerations With Data)
يمكن لعناصر المَعْدُودَة (enum
) أن تملك نوع بيانات واحد أو أكثر مما يسمح لها بالتصرف مثل union في لغة C.
عندما تكون المَعْدُودَة (enum
) نمط مطابقة باستخدام مُطابقة (match
)، فإنه يمكنك ربط اسم متغير لكل قيمة بيانات في المَعْدُودَة.
تفاصيل الذاكرة للمَعْدُودَة (enum
):
- حجم الذاكرة لقيمة بيانات المَعْدُودَة (enum) يكون مساوي لأكبر عنصر فيها. هذا مما يسمح لكافة القيم المحتملة أن تتناسب مع نفس المساحة من الذاكرة.
- بالإضافة إلى أنواع بيانات العناصر (إن وجدت)، يحتوي كل عنصر أيضًا على قيمة رقمية تمثل أي وسم هو.
تفاصيل أخرى:
- المَعْدُودَة (
enum
) في رست (Rust) تعرف أيضا مضمنة موسومة (tagged union)
- الجمع بين الأنواع لإنشاء نوع جديد هو ما يقصده الناس عندما يقولون أن رست (Rust) يحتوي على أنواع جبرية (algebraic types).
المزيد من الموارد حول تفاصيل الذاكرة للمَعْدُودَة (enum):