I disagree. I expect the last result to be from `a + "\n" + b`, for the reasons I outlined earlier.
The concatenation operator + does not introduce implied separators when joining strings. There is no reason to think that it should for multi-line strings specifically. On Fri, Apr 14, 2017 at 16:35 BJ Homer via swift-evolution < [email protected]> wrote: > Consider these two examples: > > let string_1 = """foo""" > > > let string_2 = """ > foo > """ > > What’s the intuitive result you’d expect without taking all the long talk > from the list into account? > > Personally, I’d say string_1 == string_2 is true. > > > I think it’s reasonable to expect them to be different, actually. I might > call these “single-line” and “multi-line” mode strings. The single-line > mode is primarily useful for being able to include unescaped double-quotes > in the string. If you’re in multi-line mode, though, it’s reasonable to be > thinking about things in terms of “lines”, and having a trailing newline > there seems reasonable. For example, I think it’s reasonable to expect this: > > let a = """ > This is line one > This is line two" > """ > > let b = """ > This is line three > This is line four > """ > > (a + b) == """ > This is line one > This is line two > This is line three > This is line four > """ > > > That seems like a reasonable model to work with multi-line strings. > > -BJ > _______________________________________________ > swift-evolution mailing list > [email protected] > https://lists.swift.org/mailman/listinfo/swift-evolution >
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
