How to declare static compile-time assoc array inside struct?
    Timoses 
    timosesu at gmail.com
       
    Mon Aug 13 14:46:14 UTC 2018
    
    
  
On Monday, 13 August 2018 at 13:21:45 UTC, Andrey wrote:
> On Monday, 13 August 2018 at 11:53:06 UTC, rikki cattermole 
> wrote:
>> You must use a module constructor to initialize it.
>
> Tried this:
> static this()
> {
>     Test.DESCRIPTION = [Test.Type.One: "One!", Test.Type.Two: 
> "It's Two...", Test.Type.Three: "And... Three!"];
> }
>
> struct Test
> {
>     // ...
> }
>
> I have an error: cannot modify immutable expression DESCRIPTION
I suppose something along these lines was meant:
     immutable string[Test.Type] DESCRIPTION;
     shared static this()
     {
         DESCRIPTION = [Test.Type.One: "One!", Test.Type.Two: 
"It's Two...", Test.Type.Three: "And... Three!"];
     }
     struct Test
     {
         enum Type { One, Two, Three };
     }
See also:
https://forum.dlang.org/post/p941qc$43q$1@digitalmars.com
    
    
More information about the Digitalmars-d-learn
mailing list