文字列補間でドル記号をエスケープする


119

文字列補間でドル記号をエスケープするにはどうすればよいですか?

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

// --> "error: unclosed string literal"

回答:


178

二倍にするだけ

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

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

4
これに関するいくつかのドキュメントへのリンクを見たいです。ここで正確なケース以外のケースがあるかもしれません、そして答えはより多くの人々を助けるかもしれません
マーティン・ハレン

ドキュメントではこれについて何も見つかりません。ただし、追加するPRがあります:github.com/scala/docs.scala-lang/pull/1531
amoebe

1
ドキュメントはここにあります:docs.scala-lang.org/overviews/core/…また、他にどのようなケースがあるかわかりませんか?
amoebe
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.