2013-10-26 6 views
5

Ho un oggetto user con alcune proprietà a cui è possibile accedere utilizzando la notazione dot.Interpolazione stringa Scala in println - Accesso agli elementi tramite notazione punto

Ad esempio, user.fullName genera una stringa come Firstname Lastname.

Come accedere a queste proprietà all'interno di un'istruzione println che utilizza l'interpolazione della stringa?

ho provato la seguente:

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

Tuttavia, non sembra di lavorare con la notazione punto e analizza solo l'intero oggetto $user, interpretando il restante fullName sezione come una stringa piuttosto che un immobile . Questo genera in modo non corretto:.

>> nome completo dell'utente è utente (...) fullName

Quello che segue è quello che sto cercando:

>> nome completo dell'utente è Firstname Lastname

Guida apprezzata!

+0

Solo un suggerimento;): forse si dovrebbe riformulare la domanda perché il modo in cui l'interpolazione della stringa funziona e l'accesso ai membri con notazione dei punti non è specifico della stampa. –

risposta

11

Risolto: assomiglia alle parentesi graffe per interpretare l'intera variabile, comprese le proprietà a cui si accede tramite la notazione dei punti.

Il seguente codice funziona:

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

Emette il seguente come previsto:

>> nome completo dell'utente è Nome Cognome