On Saturday, 3 June 2017 at 16:22:33 UTC, Francis Nixon wrote:
When looking at std.variant I found the following line:
return q{
static if (allowed!%1$s && T.allowed!%1$s)
if (convertsTo!%1$s && other.convertsTo!%1$s)
return VariantN(get!%1$s %2$s other.get!%1$s);
}.format(tp, op);
I was wondering what exactly the % signs where doing/what they
are for?
- q{} is a string that cmust contains D tokens. They allow
highlightning in the editors, that's why you missed the point.
- % is a format specifier
- q{}.format() is format() called in the UFCS fashion