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.