Unikaj znaku dolara w interpolacji ciągów


119

Jak uniknąć znaku dolara w interpolacji ciągów?

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

// --> "error: unclosed string literal"

Odpowiedzi:


178

Po prostu podwoić to

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

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

4
Chciałbym zobaczyć link do dokumentacji na ten temat. Mogą istnieć inne przypadki niż ten tutaj, a odpowiedź może wtedy pomóc większej liczbie osób
Martin Hallén

Nie mogę znaleźć nic na ten temat w dokumentacji. Jest jednak PR, aby to dodać: github.com/scala/docs.scala-lang/pull/1531
amoebe

1
Dokumentacja jest teraz tutaj: docs.scala-lang.org/overviews/core/… Nie jesteś pewien, jakie są inne przypadki?
amoebe
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.