2017-03-17 54 views
1
函数调用返回的列表

我使用下面的函数打印列表如何打印在ocaml的

let rec print_list = function 
    [] ->() 
| e::l -> print_int e ; print_string " " ; print_list l;; 

我使用下面的函数来扭转名单

let rec rev l = 
    match l with 
    [] -> [] 
    | h::t -> rev t @ [h];; 

我我使用以下打印反向列表:

print_list rev [1; 2; 3; 4] 

但是,在我的终端中,当我运行我的文件名为reverse.ml使用

ocaml reverse.ml 

我收到以下错误:

Error: This function has type int list -> unit 
     It is applied to too many arguments; maybe you forgot a `;'. 

我很好奇,语法打印OCaml中生成的列表中。谢谢。

回答

2

答案如下:

print_list (rev [1; 2; 3; 4]) 

内在功能需要被包裹在括号。