Comments inline. > Am 26.04.2016 um 15:32 schrieb Ted F.A. van Gaalen <tedvgios...@gmail.com>: > > Hi Michael > > What happens if a delimiter in this case: “”” > occurs embedded in the data? like so (two times here):
that's a problem you always have. And I think pasting a few lines of text is a (much) more common use case than wanting to have a string literal that contains """ in it. I have never needed a string literal that contained """, and as long as you don't create a parser for a language that wants to parse such literals, the use cases are very rare IMO. Furthermore, if the string interpolation and escape sequences are enabled, I can answer this directly: you write """some text some text. Here you have 3 double quotes: ""\" and here again \""" """; you can just put a backslash before one of the offending double quotes. I think starting each line with \\ is really ugly, and I wouldn't consider this a true "multi-line string literal". Because instead of writing \\bla bla \\bla bla I'd rather write "bla bla\n" "bla bla" > > “”” > dfksposdkj dslkd s hfdslk dskdslk lskd sk aaasd > lfsdlks dslksd sdlk sdlksd “”” fskfsdalkfsd “”” fdjf dkjfds > “”" > > Having a particular token at the start of a line (or after leading space(s) > ) to define a data line > allows us to use *all* available characters behind it. > > Actually after further thinking, I assume that 1 token is not enough, perhaps > there should be two tokens e.g. > > \\ ……………... to process escaped chars, like \… and \(item), > the same way as with normal Swift string literals > > \@…………. to take all characters as is without conversion? > > > Examples: > 1. > let someText = > \\There are \t \t \(nrofboxes) boxes avai > \\lable. > converts to: > "There are 12 boxes available." really? so I have to write \n if I want to have a newline? > > 2. > > let someText = > \@There are \t \t \(nrofboxes) boxes avai > \@able. > String taken as is, nothing is converted: > "There are \t \t \(nrofboxes) boxes available." > > Of course one could choose other tokens than \\ and \@ > they just looked convenient to me... > > TedvG > > >> On 26.04.2016, at 07:53, Michael Peternell <michael.petern...@gmx.at> wrote: >> >> """Just in my opinion: >> having to start each line with a particular token kinda defeats the purpose >> of multiline string literals. > Why? because IMHO the purpose of multiline string literals *is* that you can copy&paste multiple lines of text directly into the editor? If I call \\literals a 'multi-line literal', I can call "normal strings" multiline too, can't I? What makes \\this \\string a 'multiline string literal' "and this " "string" not? (What is the definition of a "multiline string literal"?) -Michael _______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution