Phil Deets wrote:
On Wed, 11 Nov 2009 13:34:32 -0500, Phil Deets <pjdee...@gmail.com> wrote:

On Wed, 11 Nov 2009 13:30:17 -0500, Phil Deets <pjdee...@gmail.com> wrote:

On Wed, 11 Nov 2009 08:50:48 -0500, bearophile <bearophileh...@lycos.com> wrote:

In a C program I have a numeric constant SIZE (that is in [1,32]), that I can define when I compile the code, like this:
gcc -DSIZE=14 ...

How can I do the same thing in D? The solution I have found is to put in the D code:
version(B1) const SIZE = 1;
version(B2) const SIZE = 2;
version(B3) const SIZE = 3;
version(B4) const SIZE = 4;
...
version(B14) const SIZE = 14;
...

And then compile the D program with:
dmd -version=B14 ...
Or:
ldc -d-version=B14 ...

Do you know nicer ways to do this in D? (if there are no nicer ways, is this simple feature worth adding to D?)

Thank you, bye,
bearophile

What I would probably do is generate a simple .d file right before you compile.

I'm used to using forums where I can post, look at what I wrote, then edit if necessary. To continue my thought, the file could be called constants.d and it could contain just be just one line:

enum SIZE=14;

Or use import expressions and mixins, something like mixin("SIZE="~import("config.txt"));

But actually, that's horrible.

See, I need edit functionality :). s/just be just/just/

You can delete your posts to emulate editing...

Reply via email to