我正在将先前连接的字符串转换为Swift 4中引入的新multi-line string syntax。它在行尾包含有意义的空格,所以我使用string newline escaping显式终止该行在重要的空格之后使用\n\
来保护它免受从行末端剥去空白的编辑器(Xcode)的影响。
let asciiArt = """
\ / \n\
V \
"""
问题在于最后一行,我不希望换行符成为字符串的一部分,但不能只使用一个\,因为它给了我错误:
Escaped newline at the last line is not allowed
如何编写多行字符串,其中包含最后不包含换行符的重要尾随空格?
答案 0 :(得分:0)
原来错误归因于quirks in Swift parsing grammar,Swift 4.0和4.1中的解决方法是在末尾插入额外的换行符,以使编译器满意:
let asciiArt = """
\ / \n\
V \
"""
注意结束"""
之前的空行!
摘要:要编写以重要空格结尾且不包含尾随换行符的多行字符串,请插入另外一行换行符在末尾。编译器在开始"""
之后,在结束"""
之前以及每一行尾随\
之后删除换行符,这将留下您:
\n
,