2017-02-10 3 views

Antwort

4

Ihre Syntax ist nicht richtig !!!, sollte es sein wie:

val a: Any = "hello" 
a match { 
    case v: String => v.length() 
} 

Verwendung : Typ zu entsprechen, und => mit der nächsten block

+0

verdammt. Vielen Dank !! –

0

Um eine Musterübereinstimmung für einen Typ zu erstellen, folgen Sie der in @chengpohi angegebenen Syntax.

Der Bindungsoperator @ wird verwendet, um auf eine (Sub-) Struktur der Daten zu verweisen, die im Mustervergleich extrahiert wurden. Zum Beispiel in

("hello",123) match { 
    case t @ (fst: String, snd: Int) => println(s"got tuple $t") 
    case _       => 
} 

Etikett bezieht sich auf den gesamten t Tupel nicht fst und snd zu bezeichnen ist.