On 8/31/2012 11:38 PM, ixid wrote:
Why does this not work:

int[string] dayNumbers =
         [ "Monday"   : 0, "Tuesday" : 1, "Wednesday" : 2,
           "Thursday" : 3, "Friday"  : 4, "Saturday"  : 5,
           "Sunday"   : 6 ];

void main() {
     //Stuff
}

With the error 'non-constant expression'? This error also seems to
prevent me making static associative arrays in functions elegantly.

Non-const variables cannot be initialized at module-scope. If you don't need to modify the aa, declaring it immutable should allow the initialization to work. Otherwise, you can initialize it using a static module constructor.

int[string] dayNumbers;

static this()
{
   dayNumbers = ...;
}

void main() {...}

Reply via email to