println中的Scala String Interpolation - 使用点表示法访问元素

dba*_*bau 5 syntax scala string-interpolation println

我有一个user具有一些属性的对象,我可以使用点表示法访问.

例如,user.fullName输出一个String之类的Firstname Lastname.

如何在println使用字符串插值的语句中访问这些属性?

我尝试过以下方法:

println(s"user's full name is $user.fullName")
Run Code Online (Sandbox Code Playgroud)

但是,它似乎不适用于点表示法,只解析整个$user对象,将剩余fullName部分解释为字符串而不是属性.这输出错误:

>>用户的全名是User(...).fullName

以下是我的追求:

>>用户的全名是名字姓氏

帮助赞赏!

dba*_*bau 12

已解决 - 看起来像花括号有助于解释整个变量,包括通过点表示法访问的属性.

以下代码有效:

println(s"user's full name is ${user.fullName}")
Run Code Online (Sandbox Code Playgroud)

这将按预期输出以下内容:

>>用户的全名是名字姓氏