2013-10-26 24 views
5

kullanarak erişme elemanları Ben nokta gösterimi kullanılarak erişebilir birkaç özelliklere sahip user nesne var. ÖrneğinScala dize İnterpolasyon - nokta işaretini

, user.fullNameFirstname Lastname gibi bir String verir.

nasıl dize interpolasyon kullanan bir println ifadesi içindeki bu özellikleri erişilebilir?

aşağıdaki denedim: Ancak

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

, nokta gösterimi ile çalışmak için görünmüyor ve sadece mülkiyet yerine bir dize olarak kalan fullName bölümünü yorumlayarak, tüm $user nesneyi ayrıştırır . Bu yanlış verir.

>> kullanıcının tam adı Kullanıcı olduğunu (...) FULLNAME

şudur Ben sonra ne:

>> kullanıcının tam adı Ad Soyad

Yardım takdir!

+0

olduğu;): belki nokta gösterimi ile yön dize enterpolasyon işler ve erişen üyeler belirli println olmadığı için soruyu yeniden ifade edilmelidir. –

cevap

11

Çözüldü - küme parantezleri nokta gösterimde erişilen özellikleri dahil, tüm değişken yorumlamaya yardımcı benziyor.

Aşağıdaki kod çalışır:

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

Bunun çıktısı aşağıdaki beklendiği gibi:

>> kullanıcının tam adı Ad Soyad Sadece bir öneri