Hello Swift community,
on Github there is a PR for this proposal, but I couldn’t find any up to date
thread, so I’m going to start by replying to the last message I found, without
the last content.
I really like where this proposal is going, and my personal preference are
*continuation quotes*. However the proposed solution is still not perfect
enough for me, because it still lacks of precise control about the trailing
space characters in each line of a multi-line string.
Proposed version looks like this:
let xml = "<?xml version=\"1.0\"?>
"<catalog>
" <book id=\"bk101\" empty=\"\">
" <author>\(author)</author>
" <title>XML Developer's Guide</title>
" <genre>Computer</genre>
" <price>44.95</price>
" <publish_date>2000-10-01</publish_date>
" <description>An in-depth look at creating applications with
XML.</description>
" </book>
"</catalog>
""
I would like to pitch an enhancement to fix the last tiny part by adding the
escaping character ‘' to the end of each line from 1 to (n - 1) of the n-lined
string. This is similar to what Javascript allows us to do, except that we also
have precise control about the leading space character through ’"’.
The proposed version will become this:
let xml = "<?xml version=\"1.0\"?>\
"<catalog>\ // If you need you can comment here
" <book id=\"bk101\" empty=\"\">\
" <author>\(author)</author>\
" <title>XML Developer's Guide</title>\
" <genre>Computer</genre>\
" <price>44.95</price>\
" <publish_date>2000-10-01</publish_date>\
" <description>An in-depth look at creating applications with
XML.</description>\
" </book>\
"</catalog>\
""
Here is another example:
let multilineString: String = "123__456__\ // indicates there is another part
of the string on the next line
"__789_____\ // aways starts with `"` and ends
with either `\` or `"`
"_____0_" // precise control about pre- and
post-space-characters
let otherString = "\(someInstance)\ /* only comments are allowed in between */
"text \(someOtherInstance) text"
This is simply continuation quotes combined with backslash concatenation.
--
Adrian Zubarev
Sent with Airmail
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution