Ответ 1
Если вы хотите избавиться от параметров в одно и то же время, вы можете использовать flatten
:
scala> someList.flatten
res0: List[String] = List(Hello, Goodbye)
Если у меня есть List[Option[A]]
в Scala, что такое идиоматический способ отфильтровать значения None
?
Один из способов - использовать следующее:
val someList: List[Option[String]] = List(Some("Hello"), None, Some("Goodbye"))
someList.filter(_ != None)
Есть ли более "идиоматический" способ? Это выглядит довольно просто.
Если вы хотите избавиться от параметров в одно и то же время, вы можете использовать flatten
:
scala> someList.flatten
res0: List[String] = List(Hello, Goodbye)
someList.filter(_.isDefined)
, если вы хотите сохранить тип результата как List[Option[A]]