Thread overview | ||||||
---|---|---|---|---|---|---|
|
October 13, 2016 Phobos func for string -> enum member? | ||||
---|---|---|---|---|
| ||||
I'm sure it'd be easy enough to write, but does phobos have a simple way to convert the name of an enum member from a runtime string to the enum type? Ie, something like: enum Foobar { foo=1, bar } Foobar a = doesThisExistInPhobos!Foobar("foo"); I'm not finding anything like it in the docs, but I'm wondering if I just missed it somewhere. |
October 13, 2016 Re: Phobos func for string -> enum member? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | On Thu, Oct 13, 2016 at 07:11:15PM -0400, Nick Sabalausky via Digitalmars-d-learn wrote: > I'm sure it'd be easy enough to write, but does phobos have a simple way to convert the name of an enum member from a runtime string to the enum type? > > Ie, something like: > > enum Foobar { foo=1, bar } > Foobar a = doesThisExistInPhobos!Foobar("foo"); > > I'm not finding anything like it in the docs, but I'm wondering if I just missed it somewhere. import std.conv : to; Foobar a = "foo".to!Foobar; :-) T -- It is impossible to make anything foolproof because fools are so ingenious. -- Sammy |
October 13, 2016 Re: Phobos func for string -> enum member? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | On 10/13/2016 04:11 PM, Nick Sabalausky wrote:
> I'm sure it'd be easy enough to write, but does phobos have a simple way
> to convert the name of an enum member from a runtime string to the enum
> type?
>
> Ie, something like:
>
> enum Foobar { foo=1, bar }
> Foobar a = doesThisExistInPhobos!Foobar("foo");
>
> I'm not finding anything like it in the docs, but I'm wondering if I
> just missed it somewhere.
import std.conv;
enum Foobar { foo=1, bar }
void main() {
assert("foo".to!Foobar == Foobar.foo);
}
Ali
|
October 13, 2016 Re: Phobos func for string -> enum member? | ||||
---|---|---|---|---|
| ||||
Posted in reply to H. S. Teoh | On 10/13/2016 07:14 PM, H. S. Teoh via Digitalmars-d-learn wrote:
> On Thu, Oct 13, 2016 at 07:11:15PM -0400, Nick Sabalausky via Digitalmars-d-learn wrote:
>> I'm sure it'd be easy enough to write, but does phobos have a simple
>> way to convert the name of an enum member from a runtime string to the
>> enum type?
>>
>> Ie, something like:
>>
>> enum Foobar { foo=1, bar }
>> Foobar a = doesThisExistInPhobos!Foobar("foo");
>>
>> I'm not finding anything like it in the docs, but I'm wondering if I
>> just missed it somewhere.
>
> import std.conv : to;
> Foobar a = "foo".to!Foobar;
>
> :-)
>
>
> T
>
Ah. Right. ;)
Thanks all.
|
Copyright © 1999-2021 by the D Language Foundation