Załóżmy, że mam następujący kod:Scala albo ze krotki jako prawa
val either: Either[String, (Int, Int)] = Right((1,2))
for {
(a, b) <- either.right
} yield a + b
Kiedy ją oceniać w REPL uzyskać
:13: error: constructor cannot be instantiated to expected type; found : (T1, T2) required: scala.util.Either[Nothing,(Double, Double)] (a, b) <- a.right ^:14: error: not found: value a } yield a + b ^
Dlaczego mam taki błąd? Nie mogę dopasować wzorca na krotce z prawej strony?
Używam scala 2.10.3. Również dlaczego ma taki dziwny typ: 'Serializable z Product with scala.util.Either [String, Int]'? Dlaczego nie po prostu 'scala.util.Either [String, Int]' – maks