Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Scalaに がある場合、値List[Option[A]]を除外する慣用的な方法は何ですか?None
List[Option[A]]
None
1 つの方法は、次を使用することです。
val someList: List[Option[String]] = List(Some("Hello"), None, Some("Goodbye")) someList.filter(_ != None)
もっと「慣用的な」方法はありますか?これはかなり単純に思えます。
同時にオプションを削除したい場合は、次を使用できますflatten。
flatten
scala> someList.flatten res0: List[String] = List(Hello, Goodbye)
someList.filter(_.isDefined)結果の型を維持したい場合List[Option[A]]
someList.filter(_.isDefined)