如何在ocaml中重新创建List.iter函数



我对Ocaml语言很陌生,一般来说是编程新手。所以我觉得这个问题很基本,但它是:我想在Ocaml中重新创建List.iter函数,以便更好地理解它,因为我的老师要求我这样做。以下是我所做的:

let rec iter f = function
|[]->()
|e::q-> f e (iter f q);;

我的两个非常简单的问题是

  1. 我真的不明白List.iter是如何工作的
  2. 这导致('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的大表达式。你需要把它分成两部分。

最新更新