我是新來斯卡拉,我試圖去構建從另外一個是我從一階對象獲得這個名單是我的模型:從Scala的對象越來越名單
case class Session(
_id: Option[String],
participants: Option[Seq[Participant]])
case class Participant(
contact: Contact,
participantStatus: Option[String])
Contact.scala 使用這種循環
case class Contact(
firstName: Option[FirstName],
lastName: Option[LastName],
address: Option[Address])
Address.scala
case class Address(
email: Option[String])
:
for (s <- session.participants) println(s)
我得到:
List(Participant(Contact(Some(FirstName(5m,Some(5),Some(5))),Some(LastName(5,Some(5),Some(5))),Some(Address(None,None,None,None,None,Some(5),Some(5),Some(5),Some([email protected]),None)),None,None),None), Participant(Contact(Some(FirstName(contact1,Some(contact1),Some(contact1))),Some(LastName(contact1,Some(contact1),Some(contact1))),Some(Address(None,None,None,None,None,Some(1),Some(1),Some(1),Some([email protected]),None)),None,None),None))
當我嘗試:println(s.contact)
我得到:value contact is not a member of Seq[models.Session.Participant]
你能給我們初始化你的價值嗎?我有一些代碼:for(s < - session.participants)s.map(s => println(s.contact))但我無法測試它:p – Daniel
它的工作:一些(地址(無,無,無,無,無,一些(1),一些(1),一些(1),一些([email protected]),無))但是現在我怎樣才能訪問電子郵件? – Rajeun
s.contact.address.email應該訣竅嗎?但你應該小心所有這些選項,並做一些匹配,看看它是否存在(這幫助我,當我在學習選項:http://danielwestheide.com/blog/2012/12/19/the-neophytes-指導scala-part-5-option-type.html) – Daniel