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.