में फ़्लैटन करने में अंतर मुझे 2.9.1 और 2.10 रात में अलग व्यवहार मिलता है - क्या बदल गया?एक विकल्प [सूची [Int]] में 2.9.1 और 2.10 रात में
Welcome to Scala version 2.9.1.final (OpenJDK Client VM, Java 1.6.0_22).
Type in expressions to have them evaluated.
Type :help for more information.
scala> Some(3) map (x => List(x, -x)) flatten
res0: List[Int] = List(3, -3)
बनाम:
Welcome to Scala version 2.10.0.r26084-b20111129020255 (OpenJDK Client VM, Java 1.6.0_22).
Type in expressions to have them evaluated.
Type :help for more information.
scala> Some(3) map (x => List(x, -x)) flatten
<console>:8: error: Cannot prove that List[Int] <:< Option[B].
Some(3) map (x => List(x, -x)) flatten
ऐसा प्रतीत होता है कि यह नया 'फ़्लैटन' हास्केल के मोनैडिक 'जॉइन' के अनुरूप है; क्या वह इरादा है? –
आइए उम्मीद करते हैं कि जब वे 2.10 पर अपग्रेड करते हैं तो हर कोई पूरी तरह से रिग्रेशन परीक्षण करता है! –
निश्चित रूप से एक विकल्प [विकल्प [एक्स]] विकल्प [एक्स] में फट सकता है, हालांकि यह इटेबल केस के बारे में शर्म की बात है। मुझे लगता है कि एक और अधिक लचीला flatten थोड़ा टाइपक्लास मशीनरी के साथ एक साथ रखा जा सकता है, अगर आप वास्तव में यह बुरी तरह से चाहते थे ... –