字符串插值,转义引号

时间:2015-07-12 10:01:06

标签: scala string-interpolation

我对这种情况有多困难感到有些困惑。我已经查看了stackoverflow,但似乎没有任何解决方案可以解决我的问题。

我想做什么:

val file = checkcache(fileName)

file match
{
    case Some(_) => {println(s"File $file found!"); file.get}
    case None => createFile(fileName)
}

现在,这对于一个名为" blubb"的文件来说非常合适。它已经存在于缓存中,它会打印

  

文件blubb发现

并返回文件。

现在我希望这是

  

文件" blubb"结果

所以我试着这样做:

case Some(_) => { println(s"File \" $file \" found!"); file.get}

编译器抛出

  

')'预期但字符串文字被发现。

为什么会这样,如何正确地转义双引号,最好在$ file-variable之前或之前没有空格?

1 个答案:

答案 0 :(得分:15)

使用三引号:

scala> s"""File "$file" found!"""
res0: String = File "blubb" found!