从scala对象获取列表
我是scala新手,我正试图从另一个列表中构造一个列表,我从scala对象中获得该列表这是我的模型:从scala对象获取列表,scala,loops,Scala,Loops,我是scala新手,我正试图从另一个列表中构造一个列表,我从scala对象中获得该列表这是我的模型: case class Session( _id: Option[String], participants: Option[Seq[Participant]]) case class Participant( contact: Contact, participantStatus: Option[String]) 斯卡拉酒店 case class Con
case class Session(
_id: Option[String],
participants: Option[Seq[Participant]])
case class Participant(
contact: Contact,
participantStatus: Option[String])
斯卡拉酒店
case class Contact(
firstName: Option[FirstName],
lastName: Option[LastName],
address: Option[Address])
地址:scala
case class Address(
email: Option[String])
使用此循环:
for (s <- session.participants) println(s)
当我尝试时:println(s.contact)
我得到:
value contact不是Seq[models.Session.Participant]
的成员,您的s
变量将从会话中拉出。参与者
具有类型选项[Seq[Participant]
,因此您得到Seq[Participant]
。如果您想在参与者中循环,您需要一个列表/序号,因此:
val sessionParticipants = session.participants.getOrElse(Seq.empty)
for (s <- sessionParticipants) println(s)
val sessionParticipants=session.participants.getOrElse(Seq.empty)
对于(s您的s
变量将从会话中拉出。参与者
具有类型选项[Seq[Participant]]
,因此您将获得Seq[Participant]
。如果您想循环参与者,您需要一个列表/Seq,因此:
val sessionParticipants = session.participants.getOrElse(Seq.empty)
for (s <- sessionParticipants) println(s)
val sessionParticipants=session.participants.getOrElse(Seq.empty)
关于(s)你能给我们你的价值会话的初始化吗?我有一些代码:for(s println(s.contact)),但我无法测试它:pit正在工作:一些(地址)(无,无,无,无,无,一些(1),一些(1),一些(email1@gmail.但是现在我怎样才能访问电子邮件呢?s.contact.address.email应该可以做到这一点?但是你应该小心所有这些选项,并进行一些匹配,看看它是否存在(这在我学习选项时对我有帮助:)非常感谢你,但是在使用println(s.contact.address.email)时)我得到了同样的错误:value-email不是Seq[models.Address]s.map(s=>s.contact.Address.map(a=>println(a.email))的成员,这样行吗?你能给我们初始化你的值会话吗?我有一些代码:for(s println(s.contact)),但我无法测试:pit的工作:一些(地址,没有,没有,没有,没有,没有,一些(1),一些(1),一些(1),一些(email1@gmail.但是现在我怎样才能访问电子邮件呢?s.contact.address.email应该可以做到这一点?但是你应该小心所有这些选项,并进行一些匹配,看看它是否存在(这在我学习选项时对我有帮助:)非常感谢你,但是在使用println(s.contact.address.email)时)我得到了同样的错误:value email不是Seq[models.Address]s.map(s=>s.contact.Address.map(a=>println(a.email))的成员,这样行吗?您可能想将参与者:Option[Seq[Participant]]更改为参与者:Seq[Participant]Seq[Participant]Seq的选项有点奇怪,由于Seq已经有一个空对象:空的Seqyes我看到了非常感谢您的帮助,最后一件事:当使用for(sval maybeEmail=s.contact.address.flatMap(u.email)
应该是选项[String]
。然后您可以使用getOrElse
指定一封备用电子邮件,或者,如果您100%希望每次收到电子邮件时,都可以调用get
。;)您可能希望将参与者:Option[Seq[Participant]]更改为参与者:Seq[Participant]Seq的选项有点奇怪,由于Seq已经有一个空对象:空的Seqyes我看到了非常感谢您的帮助,最后一件事:当使用for(sval maybeEmail=s.contact.address.flatMap(u.email)
应该是选项[String]
。然后,您可以使用getOrElse
指定回退电子邮件,或者,如果您100%希望每次收到电子邮件时,都可以调用get
。)