Sie können sogar schreiben:
%Vor% Grundsätzlich kann alles, wo ein Muster erwartet wird (eine Zuweisung, eine match
Anweisung oder eine Zeile zum Verständnis), einen Extraktor annehmen, der definiert ist als eine Entität mit einer unapply
-Methode.
Einer der Bestandteile von syntaktischem Zucker , den Sie mit scala erhalten, ist das; Wenn Sie einen Extraktor X(a, b)
haben, kann dies als a X b
geschrieben werden. Hier ist ein Beispiel mit Fallklassen (mit einem Standard-Extraktor):
Die Fähigkeit, solche Entitäten zu schreiben infix erstreckt sich auch auf Typen:
%Vor%Beachten Sie, dass scala in keinem Fall solche Infix-Operatoren auf symbolische Bezeichner einschränkt
Scala hat tatsächlich eine unveränderliche Klasse ::
, die die nicht leere Liste darstellt (das Komplement zu Nil
). Es gibt eine Infix-Notation für Klassen (das ist auch, wie Dinge wie A <:< B
work), was es dir erlaubt, head :: tail
anstatt ::(head, tail)
zu schreiben. Da ::
eine Case-Klasse ist, hat sie einen Standard unapply
, was case
zur Veranschaulichung beiträgt.
Tags und Links scala