Избегайте знака доллара при интерполяции строк


120

Как избежать знака доллара при интерполяции строк?

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/… Не знаете, какие еще есть случаи?
амеб
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.