Échapper à un signe dollar dans l'interpolation de chaîne


119

Comment échapper à un signe dollar dans l'interpolation de chaîne?

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

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

Réponses:


178

Juste le double

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

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

4
J'adorerais voir un lien vers une documentation sur celui-ci. Il pourrait y avoir d'autres cas que celui exact ici, et la réponse pourrait alors aider plus de gens
— Martin Hallén

Je ne trouve rien à ce sujet dans la documentation. Il y a un PR pour l'ajouter cependant: github.com/scala/docs.scala-lang/pull/1531
— amoebe

1
La documentation est maintenant ici: docs.scala-lang.org/overviews/core /... Vous ne savez pas quels sont les autres cas?
— amoebe
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.