Existe uma função de identidade de scala?
Se eu tenho algo como umList[Option[A]]
e eu quero converter isso em umList[A]
, o caminho padrão é usarflatMap
:
scala> val l = List(Some("Hello"), None, Some("World"))
l: List[Option[java.lang.String]] = List(Some(Hello), None, Some(World))
scala> l.flatMap( o => o)
res0: List[java.lang.String] = List(Hello, World)
Agorao => o
é apenas uma função de identidade. Eu teria pensado que haveria alguma maneira de fazer:
l.flatMap(Identity) //return a List[String]
No entanto, não consigo fazer isso funcionar, já que você não pode generalizarobject
. Eu tentei algumas coisas sem sucesso; Alguém tem algo assim para trabalhar?