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

时间:2013-10-26 09:06:05

标签: scala syntax println string-interpolation

我有一个user对象,其中包含一些我可以使用点表示法访问的属性。

例如,user.fullName输出类似Firstname Lastname的字符串。

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

我尝试了以下内容:

println(s"user's full name is $user.fullName")

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

  

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

以下是我的目标:

  

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

帮助表示赞赏!

1 个答案:

答案 0 :(得分:11)

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

以下代码有效:

println(s"user's full name is ${user.fullName}")

按预期输出以下内容:

  

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