Interpolated strings
Stanislav Blinov via Digitalmars-d
digitalmars-d at puremagic.com
Sat Apr 15 16:11:42 PDT 2017
On Saturday, 15 April 2017 at 21:38:24 UTC, cym13 wrote:
> 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.
How about... it removes an import or two? Roughly 41.5% of Phobos
(module-wise) depends on either format() or text(). And I didn't
even include the ~ and .stringofs in the search. Quick visual
scan suggests that a good portion of that could be replaced with
the proposed solution, removing the dependency. Talk about
"parsing complexity"...
You have a peculiar way of asking for a clear answer. There are
ways to vent frustration without inflicting it on others, you
know.
More information about the Digitalmars-d
mailing list