Scala String Interpolation in println - Accessing elements using dot notation
Asked Answered
A

1

5

I have a user object with a few properties that I can access using dot notation.

For example, user.fullName outputs a String like Firstname Lastname.

How do I access these properties within a println statement that uses string interpolation?

I've tried the following:

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

However, it doesn't seem to work with dot notation and only parses the entire $user object, interpreting the remaining fullName section as a string rather than a property. This incorrectly outputs:

>> user's full name is User(...).fullName

The following is what I'm after:

>> user's full name is Firstname Lastname

Help appreciated!

Acronym answered 26/10, 2013 at 9:6 Comment(1)
Just a suggestion ;): maybe you should rephrase the question because the way string interpolation works and accessing members with dot notation is not println specific.River
A
13

Solved - looks like curly braces help interpret the entire variable, including properties that are accessed through dot notation.

The following code works:

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

This outputs the following as expected:

>> user's full name is Firstname Lastname

Acronym answered 26/10, 2013 at 9:9 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.