eclipse - OCaml 中的标签 ~f

标签 eclipse functional-programming ocaml

我在OCaml工作,我使用的环境是Eclipe Mars。当我尝试使用List.iter [1.;3.;2.;-7.;4.;5.] ~f:(fun x -> update rsum x);;时它给出一个错误,指出 Error: The function applied to this argument has type 'a list -> unit This argument cannot be applied with label ~f# 重点是,这是一本书中的一个例子,非常适合他们,但当我尝试使用 ~f: 时,我不断收到此错误。 。有人可以解释一下为什么这不起作用吗? 如果我知道如何完成这项工作也会有所帮助。

最佳答案

波形符引入了名为 labelled argument 的功能。 。 OCaml 标准库有模块 List(其中声明的函数没有带标签的参数)和模块 ListLabels(使用它们)。

我的假设是,当作者使用另一个名为 Core标准库时,您正在阅读 Real World OCaml。这个库有它自己的列表模块,并且这个库大量使用带标签的参数。所以,您可能忘记将此库加载到顶层。您可能需要解释 Eclispe 如何加载正确的库或在源文件顶部编写 module List=ListLabels

关于eclipse - OCaml 中的标签 ~f,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35247009/

相关文章:

recursion - OCaml 递归调用不能有不同类型的参数?

ocaml - 这是我需要仿函数的情况吗?

java - 在Eclipse上导出应用程序后的不同字符

java - Eclipse - Google Guice

c - Linux 上的 Eclipse Neon : no console for C/C++ programs

functional-programming - 在 nim 中传递函数

dictionary - 如何在 Common Lisp 中映射函数?

eclipse - Ant构建类路径jar生成 "error in opening zip file"

java - 潜在无限流的功能解压缩实现

functional-programming - 关于OCaml中的模式匹配算法