如果我有类似的东西List[Option[A]],我想将其转换为a List[A],标准方法是使用flatMap:
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)
Run Code Online (Sandbox Code Playgroud)
现在o => o只是一个身份功能.我原以为会有办法:
l.flatMap(Identity) //return a List[String]
Run Code Online (Sandbox Code Playgroud)
但是,我不能让这个工作,因为你不能生成一个object.我试了几件事无济于事; 有没有人有这样的工作?