Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL
Help

Case-Klassen > Syntaktischer Süßstoff für binäre Operationen

Syntaktischer Süßstoff für binäre Operationen

Erinnern Sie sich übrigens noch an die im „Matching mit Sequenzen“ behandelten Matching-Operationen mit Listen? Dort schrieben wir diesen case-Ausdruck:

def processList(l: List[Any]): Unit = l match {
  case head :: tail => ...
  ...
}

Nun stellt sich heraus, dass die folgenden beiden Ausdrücke identisch sind:

case head :: tail => ...
  case ::(head, tail) => ...

Wir benutzen hier das Begleitobjekt einer Case-Klasse namens ::, das man für nichtleere Listen verwenden kann. Wenn es in case-Ausdrücken verwendet wird, unterstützt der Compiler diese spezielle Infixoperator-Notation für den Aufruf von unapply.

Das funktioniert auch bei unapply-Methoden mit nur einem oder mehr als zwei Argumenten. Wir könnten daher unsere Methode matchOn folgendermaßen umschreiben:


  

You are currently reading a PREVIEW of this book.

                                                                                        

Get instant access to over
$1 million worth of books and videos.

  

Start a Free Trial