Interpolated strings

cym13 via Digitalmars-d digitalmars-d at puremagic.com
Sat Apr 15 13:12:41 PDT 2017


On Saturday, 15 April 2017 at 20:04:13 UTC, Jonas Drewsen wrote:
> Hi all
>
>   I've been wanting to have support for interpolated strings in 
> D for some time now that will allow you to write e.g.:
>
> auto a = 7;
> writeln( $"{a} times 3 is {a*3}" );
>
> Code speaks louder that words so I've made a PR that adds this 
> support to ddmd as a RFC [1].
>
> The compiler will basically lower the $"..." string to a mixin 
> that concatenates
> the expression parts of the (inside the {}) and the plain text 
> parts.
>
> I do recognize that this is not part of the 2017 H1 plan but I 
> also believe such smaller improvements added regularly can make 
> the language both more productive and attractive.
>
> In case this addition gets a thumbs up I will of course improve 
> test coverage and any needed quality of implementation.
>
> [1] https://github.com/dlang/dmd/pull/6703

This has been proposed before, and I still don't see the added 
value compared to:

     auto a=7;
     writeln(a, " times 3 is ", a*3);

besides adding compiler complexity, language complexity and 
parsing complexity which leaves room for more bugs to be 
invented. I'm a bit more harsh than I could be, but if this 
simple question has no clear answer I don't see why it sould make 
it into the language.


More information about the Digitalmars-d mailing list