switch to member
    Ivan Kazmenko via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Sat Jan 14 03:38:32 PST 2017
    
    
  
On Saturday, 14 January 2017 at 03:20:24 UTC, Ignacious wrote:
> switch(x)
> {
>     case X:
>          q.X = e;
>          break;
>     case Y:
>          q.Y = e;
>          break
>     etc...
> }
Do you mean that verbatim?  Or are the case values strings, like:
switch(x)
{
     case "foo":
          q.foo = e;
          break;
     case "bar":
          q.bar = e;
          break
}
> I imagine one could write a string mixin that generates the 
> cases and assignments but I'm hoping for a more elegant 
> solution.
In any case, I also can imagine a mixin answer, but not much 
better.  Unless you want to actually look at the broader picture 
and maybe redesign the surrounding code to somehow cleverly get 
rid of the switch altogether.  The question as it is however 
doesn't give the context to make it possible.
Ivan Kazmenko.
    
    
More information about the Digitalmars-d-learn
mailing list