On 03/07/2011 03:22 AM, Peter Lundgren wrote:
== Quote from Jonathan M Davis (jmdavisp...@gmx.com)'s article
On Sunday 06 March 2011 14:05:04 Peter Lundgren wrote:
Can you define an associative array in a way that can be evaluated at
compile time like you can with non-associative arrays?
I'm pretty sure not. I think that it's currently suffering the same fate as
stuff
like classes and is not yet able to be CTFEed. Some day...
- Jonathan M Davis
If not, then what is the D way to initialize a static field of a struct or
class a
la Java's static initializer blocks? I don't mind constructing the associative
array at run-time if I have to, but I can't afford to do it more than the once
needed.
Use the module's <static this () {...}> clause:
int[string] aa;
static this () { aa = ["a":1, "b":2, "c":3]; }
unittest {
foreach (k,v ; aa)
writefln("%s --> %s", k,v);
}
Note: you can have as many such ckauses as you like.
Denis
--
_________________
vita es estrany
spir.wikidot.com