String scala中的字符串插值:如何将其应用于字符串以外的对象?

String scala中的字符串插值:如何将其应用于字符串以外的对象?,string,scala,string-interpolation,String,Scala,String Interpolation,运行命令,它将打印T(a,b)。a case class T (a:String,b:String) val x=T("a","b") // I want to print the member a of x, so the expected value is a. but it doesn't work. println(s"$x.a") 尝试使用如下的花括号 scala> case class T (a:String,b:String) defined class T scala

运行命令,它将打印
T(a,b)。a

case class T (a:String,b:String)
val x=T("a","b")

// I want to print the member a of x, so the expected value is a. but it doesn't work.
println(s"$x.a")

尝试使用如下的花括号

scala> case class T (a:String,b:String)
defined class T

scala> val x=T("a","b")
x: T = T(a,b)

scala> println(s"$x.a")
T(a,b).a

您需要将其用花括号括起来:

println(s"${x.a}")
从:

字符串插值器也可以接受任意表达式。例如:

println(s“1+1=${1+1}”) 将打印字符串1+1=2

任何任意表达式都可以嵌入${}

scala> case class T (a:String,b:String)
defined class T

scala> val x=T("a","b")
x: T = T(a,b)

scala> println(s"$x.a")
T(a,b).a

scala> println(s"${x.a}")
a