带有转义引用的Scala字符串插值失败

tux*_*dna 6 scala

scala> util.Properties.versionString
res11: String = version 2.11.2

scala> val a = ""
a: String = ""

scala> val a = "\""
a: String = "
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.现在使用字符串插值,它会失败:

scala> val a = s"\""
<console>:1: error: unclosed string literal
       val a = s"\""
                   ^
Run Code Online (Sandbox Code Playgroud)

即使我们提供结束转义报价.

scala> val a = s"\"\""
<console>:7: error: value \ is not a member of String
       val a = s"\"\""
                   ^
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

Sha*_*nds 11

这似乎是一个已知的错误.

请注意,您可以使用三引号来解决此问题,至少在上述情况下:

scala> val a = s"""""""" // seven quote characters all up!
a: String = "
Run Code Online (Sandbox Code Playgroud)