Multiline string literal improvements
Jacob Carlborg
doob at me.com
Thu Oct 12 07:15:02 UTC 2017
On 2017-10-11 10:35, Walter Bright wrote:
> On 10/10/2017 3:16 PM, sarn wrote:
>> Works even better in D because it can run at compile time.
>
> Yes, I see no need for a language feature what can be easily and far
> more flexibly done with a regular function - especially since what |q{
> and -q{ do gives no clue from the syntax.
Unfortunately it doesn't work for the other multiline syntax:
void main()
{
auto a = q"FOO
int b = 3;
FOO";
}
The above fails to compile [1]. The trailing FOO cannot be indented.
This works:
void main()
{
auto a = q"FOO
int b = 3;
FOO";
}
Which in my opinion doesn't look as good as the first example. It gets
worse if "a" is indented even more, because it's nested in a class, in a
method, in an if statement and so on.
[1] main.d(3,14): Error: unterminated delimited string constant starting
at main.d(3,15)
--
/Jacob Carlborg
More information about the Digitalmars-d
mailing list