需要帮助来制作功能,例如('a->'b)选项->'a选项->'b选项

时间:2019-12-01 21:56:10

标签: ocaml

我目前正在学习有关诅咒的Ocaml,并且很长时间以来一直在尝试解决此问题,但是我一生都找不到答案。

如何制作将可选函数应用于可选值的函数,如果缺少其中一个,我们将返回None。

val apply_opt : ('a -> 'b) option -> 'a option -> 'b option

我希望你们能帮助我,因为我找不到任何示例

1 个答案:

答案 0 :(得分:1)

您的尝试即将到来,您只是没有完成最后一步。可以通过与a,b进行匹配并使用包罗万象的_来简化,例如

let apply_opt a b =
  match a,b with
  | Some f, Some x -> Some (f x)
  | _ -> None