Yes, but with ", you need to escape " occurrences - which is a fairly common character - I'd say more common than |.
The trailing whitespace - why can't it just be included in the string automatically? Just for supporting comments? > On Apr 3, 2017, at 11:19 AM, Adrian Zubarev <adrian.zuba...@devandartist.com> > wrote: > > This is almost the same as proposed, but we use " instead of |, however you > still don’t have trailing space characters covered like this. > > > > > -- > Adrian Zubarev > Sent with Airmail > > Am 3. April 2017 um 11:16:41, Charlie Monroe (char...@charliemonroe.net > <mailto:char...@charliemonroe.net>) schrieb: > >> You can. I wish I remembered the language this was in (not sure if it's in >> Scala), but you can do something like: >> >> let xml = ''' >> |<?xml version="1.0"?> >> |<catalog> >> | <...> >> |</catalog> >> ''' >> >> This way, if you care about the leading whitespace, you define the line >> beginning using "|". >> >> Two characters aren't harmful, but in my experience when working with HTML >> strings, etc. the quote-escaping is extremely tedious. >> >>> On Apr 3, 2017, at 11:06 AM, Adrian Zubarev >>> <adrian.zuba...@devandartist.com <mailto:adrian.zuba...@devandartist.com>> >>> wrote: >>> >>> My main concern with this approach is that you don’t have any control about >>> indent and you loose pre- and post spacing characters. >>> >>> A concatenating approach is a little tedious but it’s precise. In any >>> situation a multi-lined string is not softly wrapped string, which implies >>> that you will have to press enter for each new line you wish to have. IMHO >>> adding two more characters for each line isn’t that harmful. ;-) >>> >>> >>> >>> >>> -- >>> Adrian Zubarev >>> Sent with Airmail >>> >>> Am 3. April 2017 um 10:49:02, Charlie Monroe (char...@charliemonroe.net >>> <mailto:char...@charliemonroe.net>) schrieb: >>> >>>> While I long for multiline string literals, I'd also very like to see a >>>> different syntax as in many cases, these can be XML/HTML snippets and the >>>> use of quotes is ubiqituous. I'd very much like to see a variant where you >>>> can simply paste almost any string without escaping it. >>>> >>>> For example, Scala uses a tripple-quote syntax... As we've gotten rid of ' >>>> for character literals, we could use it for multiline strings? >>>> >>>> Or possibly tripple-apostrophe for multiline strings? >>>> >>>> let xml = ''' >>>> <?xml version="1.0"?> >>>> <catalog/> >>>> ''' >>>> >>>> >>>>> On Apr 3, 2017, at 9:01 AM, Adrian Zubarev via swift-evolution >>>>> <swift-evolution@swift.org <mailto:swift-evolution@swift.org>> wrote: >>>>> >>>>> 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 >>>>> swift-evolution@swift.org <mailto:swift-evolution@swift.org> >>>>> https://lists.swift.org/mailman/listinfo/swift-evolution >>>>> <https://lists.swift.org/mailman/listinfo/swift-evolution> >>>> >>> >>> >> > >
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution