On Sunday, 28 February 2016 at 03:08:14 UTC, mahdi wrote:
Thanks.
So the author was plain wrong about using enums instead of
strings. The misconception is due to assuming we can use
`string` variables at compile time but we cannot (as they are
run-time data).
Not exactly either.
#define str "My string for use"
In C people know the processor which creates a "manifest const."
In D, it was chosen to reuse enum as the keyword to declare
manifest const.
enum string str = "My string for use";
But in D, we don't required declaring the type everywhere so you
can just specify a storage class:
const str = "My string for use";
Combine the things together and you create a compile time string
without specifying that the type is string.
enum str = "My string for use";