On 4/27/16 05:52, Brent Royal-Gordon via swift-evolution wrote:
>  
> <https://gist.github.com/brentdax/c580bae68990b160645c030b2d0d1a8f#proposed-solution>Proposed
>  solution
> 
> We propose that, when Swift is parsing a string literal, if it reaches the 
> end of the line without encountering an end quote, it should look at the next 
> line. If it sees a quote mark there (a "continuation quote"), the string 
> literal contains a newline and then continues on that line. Otherwise, the 
> string literal is unterminated and syntactically invalid.
> 
> Our sample above could thus be written as:
> 
> let xml = "<?xml version=\"1.0\"?>
>           "<catalog>
>           " <book id=\"bk101\" empty=\"\">
>           "     <author>\(author)</author>
>           " </book>
>           "</catalog>"
> (Note that GitHub is applying incorrect syntax highlighting to this code 
> sample, because it's applying Swift 2 rules.)
> 
> This format's unbalanced quotes might strike some programmers as strange, but 
> it attempts to mimic the way multiple lines are quoted in English prose. As 
> an English Stack Exchange answer illustrates 
> <http://english.stackexchange.com/a/96613/64636>:

+1 from me. This looks like a good compromise and the analogy to English
is good (though maybe less intuitive for non-native speakers).

I've seen objections that it would require significant work to "just"
paste in, say, a large XML file as a literal, and go back adding quotes
on every line. My reaction was that this is comparatively rare and
perhaps even should not be made overly easy :-).

On the other hand, Xcode (for one) already has a "paste and preserve
formatting" command. This could be extended to work as "paste as
multi-line string literal" under appropriate conditions, inserting
quotes after newlines, etc.

-- 
Rainer Brockerhoff  <[email protected]>
Belo Horizonte, Brazil
"In the affairs of others even fools are wise
In their own business even sages err."
http://brockerhoff.net/blog/

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to