[swift-evolution] [Review] SE-0168: Multi-Line String Literals

Xiaodi Wu xiaodi.wu at gmail.com
Fri Apr 14 16:49:13 CDT 2017


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 <
swift-evolution at swift.org> 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
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170414/d8d628db/attachment.html>


More information about the swift-evolution mailing list