我正在基于循环和模式匹配构建不同案例类对象的列表。我想排除(跳过)符合默认情况的项目(本质上是过滤列表,并在一步中映射到类型)。
我可能对 Scala 太陌生,看不到所有的可能性。我的尝试:
val events = for (ev <- data ) yield {
ev.sport match {
case "FOOTBALL" => new FootballEvent(ev)
case "SOCCER" => new SoccerEvent(ev)
case _ => None
}
}
之后我可以过滤列表,但我怀疑有一些花哨的 Scala 方法可以做到这一点:)
如果您对如何最好地完成此操作有任何想法,请告诉我!