Farklı davranışlar alıyorum, 2.9.1 ve 2.10 her gece - ne değişti?Bir Seçeneği Sabitleme Farkı [Liste [Int]] 2.9.1 ve 2.10 her gece
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)
Karşı:
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
Bu yeni 'flatten' Haskell'in monadic 'join' ile daha uyumlu olduğu ortaya çıkıyor; niyet bu mu? –
Umarım herkes 2.10'a yükseldiklerinde kapsamlı regresyon testi yapar! –
Option [Option [X]] seçeneğinin, Option [X] 'e göre düzleştirilebileceği kesin bir gelişme olsa da, yinelenen vaka hakkında biraz utanç verici olsa da. Ben daha esnek bir flatten bir çift tip makine ile birlikte koymak olabilir varsayalım, gerçekten bu kötü bir şekilde istediyseniz ... –