Escape tanda dolar dalam interpolasi string

119

Bagaimana cara keluar dari tanda dolar dalam interpolasi string?

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

// --> "error: unclosed string literal"
0__
sumber

Jawaban:

178

Gandakan saja

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

scala> s"my.package.$name$$"
res0: String = my.package.foo$
4e6
sumber
4
Ingin sekali melihat link ke beberapa dokumentasi yang satu ini. Mungkin ada kasus lain selain yang tepat di sini, dan jawabannya kemudian dapat membantu lebih banyak orang
Martin Hallén
Saya tidak dapat menemukan apapun tentang ini di dokumentasi. Ada PR untuk menambahkannya: github.com/scala/docs.scala-lang/pull/1531
amoebe
1
Dokumentasinya sekarang ada di sini: docs.scala-lang.org/overviews/core/… Juga tidak yakin kasus lain apa yang ada?
amoebe