Also this (changes type at runtime):
type
NodeKind = enum
nkInt, nkFloat
Node = ref NodeObj
NodeObj = object
case kind: NodeKind
of nkInt: intVal: int
of nkFloat: floatVal: float
let a: Node = Node(kind: nkInt, intVal: 2)
echo a.intVal
a.kind = nkFloat
a.floatVal = 2.0
echo a.floatVal
- Differences: Object variant vs static conditional fields mratsim
- Re: Differences: Object variant vs static conditional... Stefan_Salewski
- Re: Differences: Object variant vs static conditi... Tiberium
- Re: Differences: Object variant vs static con... planhths
- Re: Differences: Object variant vs static... Udiknedormin
- Re: Differences: Object variant vs s... LeuGim
- Re: Differences: Object variant ... mratsim
- Re: Differences: Object vari... LeuGim
- Re: Differences: Object vari... mratsim
- Re: Differences: Object vari... Udiknedormin
