1. ホーム
  2. scala

[解決済み] リスト[Option]からNoneを除外するには?

2022-09-07 09:47:02

質問

もし私が List[Option[A]] をフィルタリングするイディオム的な方法は何ですか? 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)