On Monday, 30 September 2013 at 04:20:32 UTC, Ali Çehreli wrote:
On 09/29/2013 03:38 PM, linkrope wrote:
On Sunday, 29 September 2013 at 18:14:03 UTC, monarch_dodra
wrote:
On Sunday, 29 September 2013 at 14:31:15 UTC, linkrope wrote:
As a workaround, I put the value into an array to make use
of the
"undocumented" function formatElement:
"%(%s%)".format([value])
That seems excessive. What happened to format(`"%s"`, s) or
format("\"%s\"", s) or text('"', s, '"')?
Of course, this works well when I know that the value is of
type string.
But I have a template and I want to print the representation
of (T value):
"hello" (with quotes) or just 42 (without)
Phobos does this for array elements, but it seems that there's
nothing
like 'repr'?
I don't know a Phobos function either but the following should
work:
[SNIP]
static if (isSomeString!T) {
This should also take into acount enums, as they get their own
printing.
It should either use std.conv's private "isExactSomeString", or
use:
static if (isSomeString!T && !is(T == enum)