在字符串插值中转义美元符号

145

如何在字符串插值中转义美元符号?

def getCompanion(name: String) = Class.forName(s"my.package.$name\$")

// --> "error: unclosed string literal"
1个回答

215

翻译:翻倍它

scala> val name = "foo"
name: String = foo

scala> s"my.package.$name$$"
res0: String = my.package.foo$

5
希望能够看到这个问题的相关文档链接。可能存在其他与此情况类似的情形,而答案可能会帮助更多的人。 - Martin Hallén
我在文档中找不到相关内容。不过有一个拉取请求可以添加它:https://github.com/scala/docs.scala-lang/pull/1531 - amoebe
1
文档现在在这里:https://docs.scala-lang.org/overviews/core/string-interpolation.html#the-s-string-interpolator 不确定还有哪些其他情况? - amoebe
我可以确认这对百分号符号(%)同样适用,因为如果在f-string中的数字值之后使用它,它会出错。 - Lucas Lima

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接