Scala ドキュメントによると、フラット化 API はリストのリストをフラット化し、リストのリストでのみ呼び出すことができます。
では、なぜ次のように呼び出すことができるのでしょうか?
List(Some("Tony"), None).flatten
Scala ドキュメントによると、フラット化 API はリストのリストをフラット化し、リストのリストでのみ呼び出すことができます。
では、なぜ次のように呼び出すことができるのでしょうか?
List(Some("Tony"), None).flatten
ScalaDoc API は、[use case]
-- メソッド シグネチャの単純化された表現を示しています。をクリックするFull signature
と、完全な署名に展開されます。
Full Signature
def flatten[B](implicit asTraversable: (A) ⇒ GenTraversableOnce[B]): List[B]
リスト要素タイプ(あなたの場合は) から他のタイプのトラバーサブルへflatten
の暗黙的な変換がある限り、リストまたは他のほとんどのコレクションで呼び出すことができます。A
Option[String]
任意Option
の型を暗黙的にに変換できますGenTraversableOnce
--Some
単一の要素コレクションおよびNone
空のコレクションとして機能します。これは、 を呼び出しflatten
てList[Option[String]]
を取得できることを意味しますList[String]
。