Уникнути знака долара в рядковій інтерполяції


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