अगर मैं एक List[Option[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)
अब o => o
सिर्फ एक पहचान कार्य है। मैं सोचा होगा कुछ तरीके से करना वहाँ होगा:
l.flatMap(Identity) //return a List[String]
हालांकि, मैं इस के रूप में आप एक object
generify नहीं कर सकते हैं काम करने के लिए नहीं मिल सकता है। मैंने कुछ चीजों का कोई फायदा नहीं लिया; क्या किसी को इस तरह काम करने के लिए कुछ मिला है?
मुझे लगता है कि चाहते हैं कि '{_}' समानता चाहिए करने के लिए '{x => x}' जैसे '{_ + 3}' '{x => x + 3}' के बराबर है। क्या कोई इस पर टिप्पणी कर सकता है कि ऐसा क्यों नहीं है? –