Is it possible to add items to the arrays and hashes at compile time?

H. S. Teoh via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sun Jun 7 05:48:55 PDT 2015


On Sun, Jun 07, 2015 at 12:43:16PM +0000, Nicholas Wilson via Digitalmars-d-learn wrote:
> On Sunday, 7 June 2015 at 12:42:12 UTC, Nicholas Wilson wrote:
> >On Sunday, 7 June 2015 at 12:30:12 UTC, Dennis Ritchie wrote:
> >>Does D the ability to add items to arrays and hashes at compile
> >>time?
> >>
> >>For example, how do I do it in compile time?:
> >>
> >>int[][int][int] hash;
> >>
> >>hash[4][6] ~= [34, 65];
> >>hash[5][7] ~= [4, 78, 21];
> >
> >try using a pure function + static e.g.
> >
> > int[][int][int] somePureDefaultHash() pure
> >{
> >    ... //initialise it here
> >}
> >
> >...
> >static hash = somePureDefaultHash();
> 
> or enum

Using an enum for an array or hash is usually a bad idea, because it
causes a runtime allocation per reference to that symbol.


T

-- 
"I suspect the best way to deal with procrastination is to put off the procrastination itself until later. I've been meaning to try this, but haven't gotten around to it yet. " -- swr


More information about the Digitalmars-d-learn mailing list