Ocaml:使用list.length

Eri*_*ric 3 ocaml list

我试图在ocaml中找到列表的长度.

我先调用一个函数调用

> let get_list_length e in   
> print_list_length out x
Run Code Online (Sandbox Code Playgroud)

get_list_length中的实际代码是我感到困惑的地方."e"是一个"命令"列表,我想找到所有"命令"的长度.

let get_list_length(e:values):unit =
match e with
let x = list.length(e);;

所以我的e是"命令"列表,它是我的语法文件中指定的一堆值.我很困惑如何得到列表的长度,因为e是一个值列表,我想要该列表的长度.

任何帮助,将不胜感激.

Nik*_*chi 7

获取列表的长度很简单:

List.length my_list
Run Code Online (Sandbox Code Playgroud)

您的get_list_length功能可以简单如下:

let get_list_length e = List.length e
Run Code Online (Sandbox Code Playgroud)

或更简单地说:

let get_list_length = List.length
Run Code Online (Sandbox Code Playgroud)

正如您当前定义的那样,get_list_length返回类型unit以便您不会从中获得任何有用的信息.您也使用不正确的匹配,它通常像这样使用:

match e with something -> do something
| something_else -> do something_else
Run Code Online (Sandbox Code Playgroud)