Scala unapplySeq Extraktor-Syntax

9

Ich (versehentlich) stieß auf ein bisschen Pattern-Matching-Syntax, die ich nicht zu kompilieren erwartet hatte und jetzt nicht herausfinden kann.

Es scheint mit unapplySeq verbunden zu sein.

Beachten Sie den case x List(_,_) -Teil in diesem einfachen Beispiel:

%Vor%

Ich bin an : oder @ in der Mustervergleichssyntax gewöhnt, bin aber darüber verwirrt. Wie funktioniert diese Syntax und was (wenn überhaupt) ist ihre Beziehung zu unapplySeq ?

Beispielcode, der in Scala 2.11.6

ausgeführt wird     
Brian Kent 22.06.2015, 15:54
quelle

1 Antwort

3

Die entsprechende Nicht-Infix-Version ist:

%Vor%

Scala-Spezifikation :

  

Ein Infix-Operationsmuster p; op; q ist eine Abkürzung für den Konstruktor   oder Extraktormuster op (p, q). Der Vorrang und die Assoziativität von   Operatoren in Mustern sind die gleichen wie in Ausdrücken.

     

Ein Infix-Operationsmuster p; op; (q1, ..., qn) ist eine Abkürzung für   Konstruktor- oder Extraktormuster op (p, q1, ..., qn).

    
bjfletcher 22.06.2015, 16:23
quelle