Dize enterpolasyonunda bir dolar işaretinden kaçınma


120

Dize enterpolasyonunda bir dolar işaretinden nasıl kaçabilirim?

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

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

Yanıtlar:


178

Sadece ikiye katla

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

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

4
Bununla ilgili bazı belgelere bir bağlantı görmek isterim. Buradaki kesin olandan başka durumlar olabilir ve cevap daha fazla insana yardımcı olabilir
Martin Hallén

Bununla ilgili dokümantasyonda hiçbir şey bulamıyorum. Yine de eklenecek bir PR var: github.com/scala/docs.scala-lang/pull/1531
amoebe

1
Dokümantasyon şimdi burada: docs.scala-lang.org/overviews/core/… Başka hangi vakaların olduğundan emin değil misiniz?
amoebe
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.