On 6/17/21 5:54 PM, H. S. Teoh wrote:
On Thu, Jun 17, 2021 at 05:41:28PM -0400, Steven Schveighoffer via 
Digitalmars-d-learn wrote:
[.[..]
Oh, and to throw a monkey wrench in here, the value is a string, not
an integer. So I can't use std.conv.to to verify the enum is valid
(plus, then I'm running a switch twice).

Any ideas on better ways to handle this?
[...]

Why not just:

        try {
                MyEnum value = input.to!MyEnum;
        } catch (Exception e) {
                stderr.writeln("Invalid input");
        }


Yeah, that was a possibility I listed. Of course `to` is going to do a switch, which means then after I validate the value is valid, I then have to do a final switch to process it. I'd prefer to do it both in one switch.

-Steve

Reply via email to