我想创建一个Test类的列表。
case class Person(name:String)
case class Test (desc:String)
val list =Seq(Person("abc"),Person("def"))
val s = Option(list)
private val elems = scala.collection.mutable.ArrayBuffer[Test]()
val f =for{
l<-s
}yield {
for{
e <-l
} yield elems+=tranform(e)
}
f.toSeq
def tranform(p:Person):Test= {
Test(desc = "Hello "+p.name)
}
任何人都可以帮助以下问题
for
的更好方法答案 0 :(得分:1)
我不知道您为什么将Seq
包裹在Option
中; Seq
非常好地表示没有Person
的情况。您的应用程序中的None
和Some(Seq.empty[Person])
之间有区别吗?
假设没有Option[Seq[Person]]
,您就可以渡过难关:
list.map(transform).toList