Елементи enum
можуть мати один або більше типів даних, тобто мають ту ж саму поведінку, що й union з мови С.
Коли enum
ставиться у відповідність за допомогою match
, можна прив'язати змінну до кожного значення даних.
Деталі збереження переліків в пам'яті:
Значення даних переліку буде займати в пам'яті стільки місця, скільки займає її найбільший елемент. Це дозволяє усім потенційним значенням займати однакову кількість пам'яті.
На додачу до типу даних, кожен елемент переліку має числове значення, яке являє собою тег.
Інші деталі: