"name" of enum members
spir
denis.spir at gmail.com
Fri Feb 11 12:22:55 PST 2011
On 02/11/2011 07:39 PM, bearophile wrote:
> spir:
>
>> To denote a member 'm' of an enum 'e', one needs to write "e.m". Is there a way
>> to get back this "name"?
>
> Is this good enough?
>
> import std.stdio, std.conv;
> enum TC { A, B, C }
> void main() {
> writeln(typeof(TC.A).stringof, ".", to!string(TC.A));
> }
Yo! thank you Bearophile.
>> A bit strange that '%s' does not produce the same string as to!string...
>
> I agree, I have a bug report on this.
More generally, I think default %s and to!string should systematically output
the literal notation able to reconstruct the string'ed element. I mean, as far
as possible without getting into much complication (in cases of struct or class
object, which often have data members not read in by the contructor).
About the annoying case of strings, is there a tool func somewhere to
reconstruct an escaped version? (like eg when the string holds '"') I have
looked for it without success. Else, i guess Phobos very much needs that. (the
equivalent of python's %r or repr() for strings)
Simple, clear, consistent, informative, useful.
Denis
--
_________________
vita es estrany
spir.wikidot.com
More information about the Digitalmars-d-learn
mailing list