Warum ist es nicht möglich, Mustervergleichskonstrukte zu ketten? Zum Beispiel ist die folgende rechtliche, wenn unsinnig,Pattern Match "Rückgabewert"
val a = ADT(5)
val b = a match {
case ADT(a) if a > 4 => ADT(a * 3)
case ADT(a) => ADT(a + 1)
}
b match {
case ADT(a) if a > 13 => doSomething(a)
case _ => {}
}
aber die folgende nicht:
a match {
case ADT(a) if a > 4 => ADT(a * 3)
case ADT(a) => ADT(a + 1)
} match {
case ADT(a) if a > 13 => doSomething(a)
case _ => {}
}
Ich vermute, es ist, weil ich es nicht in erster Linie sollte tun, aber im Prinzip Ich verstehe nicht, warum das nicht legal ist.
'(ein Spiel {..}) Spiel {..}' arbeiten. – user2246674