On 22.07.2011 3:18, bearophile wrote:
Multi-line strings are handy, but I have a small problem.
This is an example, it has a problem, there is an unwanted newline at the
beginning:
writeln("
- First item: 150
- Second item: 200
- Third item: 105");
To avoid it you can write this, but both break the alignment in the source
code, and it's not nice looking:
writeln("- First item: 150
- Second item: 200
- Third item: 105");
writeln(
"- First item: 150
- Second item: 200
- Third item: 105");
To solve this problem in Python you are allowed to write (in Python you need tree
" or tree ' to denote a multi-line string):
print """\
- First item: 150
- Second item: 200
- Third item: 105"""
The extra slash at the beginning avoids the start newline.
Is this currently possible in D too? If this isn't possible, is it worth a very
little enhancement request for the support of that syntax?
Bye,
bearophile
How about:
writeln(
"- First item: 150\n"
"- Second item: 200\n"
"- Third item: 105");
Yeah, I know implicit concatenation is bad and I would agree once ~
concatenate complie-time string for 0 overhead.
After all, hardcoded strings are not exactly good thing in the first place.
For big formatted texts just use string import :
writeln(import("usage.txt"));
work like a charm.
So IMHO it's a non-issue.
--
Dmitry Olshansky