关于List.map用法

关于List.map用法,list,ocaml,List,Ocaml,List.map的类型为 - : ('a -> 'b) -> 'a list -> 'b list = <fun> 它向列表的每个元素添加1,因此返回以下列表: - : int list = [2;3;4;5] 现在在一个练习中,我被要求指出这种类型: List.map (fun p -> p 7) [ (fun n m -> n + m) ];; 我一点也不明白诚实意味着什么。 P7是什么意思? 为什么列表中有一个函数 类型是 - : (int

List.map的类型为

- : ('a -> 'b) -> 'a list -> 'b list = <fun>
它向列表的每个元素添加1,因此返回以下列表:

- : int list = [2;3;4;5]
现在在一个练习中,我被要求指出这种类型:

List.map (fun p -> p 7) [ (fun n m -> n + m) ];;
我一点也不明白诚实意味着什么。 P7是什么意思? 为什么列表中有一个函数

类型是

- : (int -> int) list = [<fun>]
-:(int->int)list=[]
但我不明白为什么。 当乐趣在括号中时,它意味着什么

多谢各位

p7
是什么意思

它表示函数
p
对参数
7
的作用。。。。您可能会花一些时间阅读上的wikipage(至少是为了了解函数抽象)

还可以阅读关于

为什么列表中有一个函数

在Ocaml中,函数是值,因此您可以拥有函数列表。如果不是函数列表,则会出现键入错误。如果你想得更多,你就会明白什么样的函数是允许的

fun
位于括号之间时,它是什么意思

toplevel无法打印功能值(实现为)。它将它们显示为
。举一个简单的例子,通过
funx->x+1(然后也尝试
乐趣y->y;;
)到您的

(剩下的练习留给读者)

p7
是什么意思

它表示函数
p
对参数
7
的作用。。。。您可能会花一些时间阅读上的wikipage(至少是为了了解函数抽象)

还可以阅读关于

为什么列表中有一个函数

在Ocaml中,函数是值,因此您可以拥有函数列表。如果不是函数列表,则会出现键入错误。如果你想得更多,你就会明白什么样的函数是允许的

fun
位于括号之间时,它是什么意思

toplevel无法打印功能值(实现为)。它将它们显示为
。举一个简单的例子,通过
funx->x+1(然后也尝试
乐趣y->y;;
)到您的


(剩下的练习留给读者)

花点时间阅读ocaml的文档花点时间阅读OcamlI的文档已经理解了应用程序、lambda calulus和currying,这不是问题。。。但我承认我的问题不够清楚。困扰我的是列表中的函数,我以前从未遇到过这种情况,因此出于某种原因,我认为通常的推理不适用。无论如何,现在我明白了它的编写方式,它意味着n是7,第一个int是m,第二个int是返回类型(fun n m->n+m)。一个“有用”的例子是:让fx=List.map(fun p->p7x)[(fun n m->n+m);(fun a b->a*b)我已经理解了应用程序,lambda calulus和currying,这不是问题所在…但我承认我的问题不够清楚。困扰我的是列表中的函数,我以前从未遇到过这种情况,所以出于某种原因,我认为通常的推理不适用。总之,现在我明白了它的书写方式意味着n是7,第一个int是m,第二个int是(fun n m->n+m)的返回类型。一个“有用”的例子是:让fx=List.map(fun p->p7x)[(fun n m->n+m);(fun ab->a*b);(f4;;
- : (int -> int) list = [<fun>]