我使用以下功能打印列表
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中打印结果列表的语法。谢谢。
答案 0 :(得分:2)
答案如下:
print_list (rev [1; 2; 3; 4])
内部函数需要包含在括号中。