DIP 1027---String Interpolation---Format Assessment
Jacob Carlborg
doob at me.com
Fri Feb 28 10:17:11 UTC 2020
On Friday, 28 February 2020 at 03:10:48 UTC, Walter Bright wrote:
> I don't know Swift, but this looks like the "generate strings
> and concatenate them" approach.
No, it basically lowers to bunch of method calls. Here's an
example of how it could look like with D syntax:
auto a = 3;
auto b = i"foo $a bar";
Could be lowered to:
auto _temp = StringInterpolation(8 /* literal capacity */, 1 /*
interpolation count */);
_temp.appendLiteral("foo ");
_temp.appendInterpolation(a);
_temp.appendLiteral(" bar");
auto b = _temp.toString();
There's nothing here that says that this needs to use the GC to
allocate the final string. "StringInterpolation" could contain
something like OutBuffer from DMD or, if the arguments were
passed as template arguments, it could allocate on the stack.
--
/Jacob Carlborg
More information about the Digitalmars-d-announce
mailing list