Thoát ký hiệu đô la trong nội suy chuỗi


119

Làm cách nào để thoát ký hiệu đô la trong nội suy chuỗi?

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

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

Câu trả lời:


178

Chỉ cần nhân đôi nó

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

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

4
Rất thích xem liên kết đến một số tài liệu về tài liệu này. Có thể có những trường hợp khác so với cái chính xác ở đây, và câu trả lời sau đó có thể giúp nhiều người hơn
Martin Hallen

Tôi không thể tìm thấy bất cứ điều gì về điều này trong tài liệu. Có một PR để thêm nó mặc dù: github.com/scala/docs.scala-lang/pull/1531
amoebe

1
Tài liệu hiện có ở đây: docs.scala-lang.org/overviews/core/… Cũng không chắc có những trường hợp nào khác không?
amoebe
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.