On Sunday, 16 April 2017 at 16:10:15 UTC, Nick Sabalausky
(Abscissa) wrote:
Yea, and note, I'm still open to the idea of better names than
"interp". I'm still not entirely happy with that name. I'm even
half-tempted to use "_".
When I needed interpolation, I did not know about this library.
So I create my own implementation and name it `expand`. I only
needed class properties and did not support the expression, so
this can not be considered a general solution, but name `expand`
seems to be good for me.
unittest
{
class InterTest
{
static int a = 1;
static string bb = "--bb--";
mixin ExpandLocals;
auto getInterpolated()
{
return expand!"a is $a, bb is $bb, and this is just $
sign";
}
}
assert((new InterTest).getInterpolated() == "a is 1, bb is
--bb--, and this is just $ sign");
}
What I think would be ideal is a language enhancement to allow
"interp" to do its job without the extra syntactical noise.
That would not only give us good interpolates strings, but
would likely have other applications as well.
Now I spend thinking some time about it and didn't find common
solution without text mixin too.