简单 OCaml 函数中的语法错误?

Syntax error in simple OCaml function?

代码:

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

错误:

Syntax error

它说 "List" 和“=”之间的第一行有语法错误。

当我尝试做的时候:

let fifthElem (intList: int List) = 

它说:

Syntax error: type expected.

我该如何解决这个问题?我只想给 intList 输入 int List

谢谢!

List 是模块名称。类型名称只能以小写字母开头。正确的类型名称是 int list 而不是 int List

此外,OCaml 默认样式是使用下划线,而不是 CamelCase(尽管是语言名称:))。所以我们通常写 fifth_elem 而不是 fifthElem`。