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"

Jawaban:


178

Gandakan saja

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

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

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.