digitalmars.D.learn - byBassing toString (specifically for strings)
- monarch_dodra (22/22) Feb 28 2013 strings follow a special rule for printing: Basically, if you
strings follow a special rule for printing: Basically, if you
print a string, it gets pretty printed. However, if it becomes a
part of a struct, or an array, or any container in general, it
becomes printed as a type. EG:
//----
string s = "hello\tworld";
writeln(s); //raw string
writeln([s]);
//----
will print:
hello world
["hello\tworld"]
My question is: Is there any way to print the string as a type
(second example), in a simple fashion? The only way I found is to
place it in an array, and then print it using a printf special
syntax to strip the []:
writefln("%(%s%)", (&s)[0 .. 1]);
"hello\tworld"
It works, but it is ugly as fuck, and cryptic as hell. Is there
any simple format flag that gets the job done simply? There has
to be something, since writefln is obviously able to do it, but I
can't seem to plug into it dirrectly...
Feb 28 2013








"monarch_dodra" <monarchdodra gmail.com>