我对Ocaml语言很陌生,一般来说是编程新手。所以我觉得这个问题很基本,但它是:我想在Ocaml中重新创建List.iter
函数,以便更好地理解它,因为我的老师要求我这样做。以下是我所做的:
let rec iter f = function
|[]->()
|e::q-> f e (iter f q);;
我的两个非常简单的问题是
- 我真的不明白
List.iter
是如何工作的 - 这导致('a->unit->unit(->'列表->unit=,我知道我的'f'应该只是
'a->unit,我不知道如何更改它
(如果我犯了任何错误,对不起,我的母语是法语(
List.iter
的定义是这样的。此函数调用:
List.iter f [x1; x2; ...; xn]
相当于这些单独的调用:
f x1;
f x2;
. . .
f xn
您的问题主要是缺少一个分号(;
(来分隔应该按顺序执行的语句。
这个表达式:
f e (iter f q)
是一个用三个参数调用CCD_ 5的大表达式。你需要把它分成两部分。