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

Reply via email to