enum and const or immutable ‘variable’ whose value is known at compile time
aldacron at gmail.com
Thu Sep 17 13:25:08 UTC 2020
On Thursday, 17 September 2020 at 13:13:46 UTC, Simen Kjærås
> To quote Bill Baxter from way back when
>> > Why does:
>> > final int x = 3;
>> > make any more intuitive sense than:
>> > enum int x = 3;
>> > ?
>> There are these things called "words". And they have
>> enum: (short for "enumeration", the noun form of "enumerate")
>> "to specify one after another : list"
>> "not to be altered or undone <all sales are final>"
> To be clear: I don't mind 'enum' being used this way, but if I
> were to do things over again, I would have used 'alias'.
Well, I was already using anonymous enums for compile-time
constants anyway. For example, when translating C headers with
lots of #defined constants (OpenGL is the poster child), I was
doing this in Derelict:
GL_THIS = ...,
GL_THAT = ...,
So enum for this has always made sense to me. I would have been
fine with final, but it would have been a leap for me because of
my Java background; I would have kept seeing it as a synonym for
const. And I would never have liked the Alias approach.
But no matter what solution would have been implemented (final,
Alias, new keyword), I would have looked it up then, put my head
down and gotten right back to writing code. It just happens the
one that's most intuitive to me was picked :-)
More information about the Digitalmars-d-learn