Вот скажите мне, насколько сильно я буду гореть в аду за такое: type EntityObj = object case kind: EntityKind of enCreature: creature: Creature of enItem: item: Item of enStruct: structure: Structure
Если подразумевается что потом там поведение нужно как-то переопределять пользователем то я предпочитаю делать поле с коллбеком и ставить туда что мне нужно
Опять же вместо того чтобы плодить классы на каждый чих. std/streams так сделаны + поведение можно настраивать на уровне экземпляра что иногда тоже бывает полезно
Если подразумевается что потом там поведение нужно как-то переопределять пользователем то я предпочитаю делать поле с коллбеком и ставить туда что мне нужно
Мне надо обобщить несколько типов объектов для хранения и некоторых общих для всех них действий.
Но как-то неажиданна такое видеть в смузихлёбском недоязычке для хипстеров с подворотами
Ну araq где-то говорил что вообще лучше использовать дискриминанты везде где можно вместо ООП/методов так как они удобнее/быстрее практически во всех случаях