Tôi đang sử dụng đoạn mã sau để đáp ứng nhu cầu của tôi:Scala placeholder cởi ra tham số
(1 to 5)..map(i => s"\\x${i}") // Produces List("\\x1", "\\x2", "\\x3", "\\x4", "\\x5")
Nhưng tôi muốn sử dụng một trình giữ chỗ. Theo the string interpolator documentation:
(1 to 5).map(s"\\x${_}")
nên mở rộng ra:
(1 to 5).map(StringContext("\\\\x","").s(_))
Nhưng các tác phẩm thứ hai, không phải là cũ, mà ném một error: unbound placeholder parameter
trên _
. Tại sao?
tôi đã thêm các giải pháp mà tôi đã đã sử dụng trực tiếp trong câu hỏi của tôi. Tôi muốn có nhiều hơn niềm tin nếu có thể. 's' không phải là một hàm, nó là một tính năng scala. –
@ MikaëlMayer tốt, không, nó không phải là một tính năng ngôn ngữ. Nó được định nghĩa ở đây: http://www.scala-lang.org/api/current/#scala.StringContext Bạn cũng có thể sử dụng nguyên "", f "" hoặc thậm chí tạo các bộ nội suy chuỗi của riêng bạn (json "", sql "", ...) – VasyaNovikov