相关疑难解决方法(0)

理解Core的`Fn.const`

Jane Street的Core lib具有以下功能:Fn.const.

https://github.com/janestreet/core_kernel/blob/master/lib/fn.ml

let const c = (); fun _ -> c
Run Code Online (Sandbox Code Playgroud)

val const:'a - >'b - >'a
产生一个只返回其第一个参数的函数

我真的不明白.

  1. 这个功能的目的是什么?在什么情况下我们必须使用它?
  2. 为什么放();第一?
  3. 为什么不把它写成let const c = fun () -> c?这将给出一个函数unit作为参数并始终返回初始值c.
  4. 如果我这样做let f = const 5,f将成为一个以'_a参数为参数的函数.返回具有弱多态参数的函数的目的是什么?

ps我看到Fn模块里面的几个函数都有();返回函数之前的用法是();什么?

ocaml ocaml-core

7
推荐指数
1
解决办法
452
查看次数

标签 统计

ocaml ×1

ocaml-core ×1