ocaml - 在 OCaml 中展开元组

标签 ocaml

有没有办法将函数作为函数参数应用于元组成员?或者,如果不是,我可以无论如何创建一个具有任意数量参数的函数,并在其主体中将一些另一个函数应用于“尾部”,因为它将是它的参数?

最佳答案

在一般情况下,没有。对于 2 个参数的情况,您可以使用 curryuncurry Batteries extensions to Pervasives 中的函数.

或许可以用 Obj 做点什么。模块,如 printf 的内部结构做,但我会远离那个。困难在于类型系统没有给你一种表达广义curry的类型的方法。或 uncurry功能。类型系统不允许你“计算”一个元组的长度——一个 2 元组就是一个 2 元组,你没有办法表达 (a*b*c)真的是(a*b)带有一个附加组件。 printf编译器提供了特殊支持以使类型正常工作,并导致函数类型成为格式类型的一部分(因此类似的解决方案不适用于元组)。

关于ocaml - 在 OCaml 中展开元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4486496/

相关文章:

module - 在 OCaml 中获取脚本名称?

module - 编译Ocaml游戏时未绑定(bind)模块事件错误

ocaml - 与 Python 的 range 函数等效的 OCaml 习语是什么?

ocaml - 从网络摄像头捕获图像

ocaml - 如何在ocamlbuild中使用-thread编译器标志?

ocaml - OCaml dune 可以构建具有平面目录结构的项目吗?

ocaml - sml的type-class如何实现?

OCamlLex 不区分大小写

haskell - OCaml 或 Haskell 中的机器学习?

list - OCaml功能帮助涉及解析列表列表