Eğer bir List[Option[A]]
gibi bir şeyim varsa ve bunu List[A]
'a dönüştürmek istiyorsam, standart yol flatMap
:Scala kimlik fonksiyonu var mı?
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)
kullanmaktır. Şimdi o => o
sadece bir kimlik işlevidir. Bunu yapmanın bir yolu olacağını düşünürdüm:
l.flatMap(Identity) //return a List[String]
Ancak, object
'yi üretemeyeceğiniz için bunu çalıştıramıyorum. Boşuna birkaç şey denedim; Çalışacak böyle bir şey var mı?
ben '{_}' eşit gerektiğini düşünürdüm için '{x => x}' "{_ + 3}", {x => x + 3} 'e eşittir. Neden böyle olmadığını kimse yorumlayabilir mi? –