Interpolated strings

cym13 via Digitalmars-d digitalmars-d at puremagic.com
Sat Apr 15 14:38:24 PDT 2017


On Saturday, 15 April 2017 at 20:20:49 UTC, Stanislav Blinov 
wrote:
> On Saturday, 15 April 2017 at 20:12:41 UTC, cym13 wrote:
>> On Saturday, 15 April 2017 at 20:04:13 UTC, Jonas Drewsen 
>> wrote:
>
>> 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.
>
> Try a different context:
>
> auto a = 7;
>
> import std.format;
> auto str = format("%s times 3 is %s", a, a*3);
>
> //or
>
> import std.conv;
> auto str = text(a, " times 3 is ", a*3);
>
> //or
>
> auto str = $"{a} times 3 is {a*3}";

This tells me nothing. What value does it add really? Do we need 
yet another way to make a damn string? There is value in having a 
clear, unique interface. I know it's nowhere near unique right 
now but that only more reasons not to add yet another method to 
do what can already be done with 3 (!) more keystrokes.


More information about the Digitalmars-d mailing list