Feedback Thread: DIP 1036--String Interpolation Tuple Literals--Community Review Round 2

Kagamin spam at here.lot
Thu Jan 28 20:58:09 UTC 2021


auto convoluted = i"${ir"`${"{"}`"}"; // nested string 
interpolations work.
assert(convoluted == "`{`");

+InterpolatedString:
+    InterpolatedDoubleQuotedString
+    InterpolatedWysiwygString
+    InterpolatedAlternateWysiwygString
+    InterpolatedTokenString

Interpolated string should obey all escaping rules of the string 
literal it's derived from, and initial lexing of such string 
should be done with the same logic, and handling of interpolation 
sequences should be done on raw content of the lexed string after 
all due unescaping.

i`\${.}`
i"\\${.}"
These two should have the same meaning of escaped interpolation 
dollar sign, the escaped backslash becomes just backslash after 
double quote string unescaping, and this backslash is interpreted 
as interpolation escape sequence.


More information about the Digitalmars-d mailing list