ich eine Liste erstellt haben, wie untenListe Zersetzung mit Fallklassen und Extraktor Objekte
List (1, 2, 3, 4)
res4: List[Int] = List(1, 2, 3, 4)
Mit diesem, wenn ich Pattern-Matching tun, wie unten
res4 match {
case ::(head, tail) => println (head); println(tail);
}
mich gibt:
1
List(2, 3, 4)
was erwartet wird. so weit
res6: scala.collection.immutable.::[Int] = List(2, 3, 4)
Keine Probleme: Als nächstes, wenn ich die folgenden als Extraktor Objekt versuchen
(::)(2, List(3, 4))
gibt mir. Wenn ich die folgende Als nächstes versuchen:
res4 match {
case :+(head, tail) => println (head); println(tail);
}
ich
List(1, 2, 3)
4
Noch keine Probleme. Wenn nun versuchen, die: + Extraktor Objekt, auf folgende Weise:
(:+)(List(1, 2), 3)
ich die folgende Fehlermeldung erhalten:
<console>:12: error: scala.collection.:+.type does not take parameters
(:+)(List(1, 2), 3)
Was hier das Problem sein könnte? Gibt es kein: + Extraktorobjekt? Wenn nein, wie funktioniert es dann innerhalb des Mustervergleichs?
Danke Yuval. Ja, (: +) Beantragen Sie, dass Sie kein Mitglied sind. Ich hätte das überprüfen sollen. – soupybionics