gpt4 book ai didi

function - 与 OCaml 中的函数匹配?

转载 作者:行者123 更新时间:2023-12-02 07:13:33 26 4
gpt4 key购买 nike

是否可以直接对指定函数使用模式匹配,或者使用一些不涉及为我需要的每个函数指定类型的漏洞利用?

只是为了更好地解释事情,假设我有一个像这样的类型

type BBoolOp = (bool->bool->bool)*term*term

并假设 bool->bool->bool 函数非常简单,例如 (&&) (||)。 .

是否可以根据指定的功能做不同的事情,例如:

match bop with
(||) -> do something
| (&&) -> do something else

这不应该是可能的,因为无法比较函数,但也许存在一个漏洞来做我想做的事:)

提前致谢

最佳答案

如您所述,不支持比较函数。在某些情况下,它可能会起作用,但在我看来,这并不是好的。

所以我只想使用代数数据类型来解决这个问题。通过使用多态变体,您可能能够重新获得模式匹配函数概念的一些灵 active (不需要模式匹配代码来了解所有可能的运算符)。所以要么

type BBoolOper = And | Or
type BBoolOp = BBoolOper * term * term

type BBoolOp = [<`And | `Or] * term * term (* make opened/closed as needed *)

关于function - 与 OCaml 中的函数匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3289958/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com