2017-04-21 2 views
0

Wie würde ich Typ Anmerkungen für das Code-Snippet unten anwenden? Hinweis: e und r sind List Tree's.Elm: Bindung und Typ Anmerkungen mit Tupeln

let 
    {--what is the type annotation here for the tuple (e, r)?--} 
    (e, r) = List.partition (\(Node a _) -> a == (toString c)) lt 
in.... 

Antwort

4

Was Sie dort haben, ist eine Destrukturierungsanweisung und kann keine Typannotation haben.

Typ Anmerkungen sind für benannte Funktionen oder Werte. Zum Beispiel:

plus : Int -> Int -> Int 
plus = (+) 

year : Int 
year = 2017 

Ihre Destrukturierung von (e, r) ist keine benannte Funktion. Es führt lediglich zwei neue Werte in den Bereich ein: e und r.

+0

Also, wenn wir Mustererkennung (in Let Binding) verwenden, um etwas zu zerstören, dann sind Typ Anmerkungen nicht verfügbar. OK. Vielen Dank. – G4143