2016-09-09 18 views
0

Code:Syntaxfehler in einfacher OCaml-Funktion?

let fifthElem intList: int List = 
    if List.length intList = 0 then 0 
    else if List.length intList >= 5 then List.nth intList 4 

let sortDescend intList: int List = 
    let acendList = List.sort intList in 
    List.rev acendList 

Fehler:

Syntax error 

Es sagt, dass es in der ersten Zeile zwischen "List" und "=" ein Syntaxfehler ist.

Wenn ich versuche zu tun:

let fifthElem (intList: int List) = 

Dort heißt es:

Syntax error: type expected. 

Wie kann ich dieses Problem beheben? Ich möchte nur geben intList typ int List

Vielen Dank!

Antwort

1

List ist ein Modulname. Typnamen können nur aus Kleinbuchstaben beginnen. Der korrekte Typ lautet int list nicht .

Auch OCaml Standard-Stil ist die Verwendung von Unterstreichungen, anstelle von CamelCase (wenn auch der Name der Sprache :)). Also schreiben wir normalerweise fifth_elem statt fifthElem`.

+0

danke! Was für ein Fehler, haha – 14wml