gpt4 book ai didi

Ocaml 变体类型

转载 作者:行者123 更新时间:2023-12-03 18:24:20 24 4
gpt4 key购买 nike

无论我阅读什么教程/手册,OCaml 类型总是让我感到困惑。我需要定义一个类型,比如说 test,它确实包含以下形式:

具有以下形式之一的类型 ('a, 'b) 测试:
空,T t,N n,Seq [x1...xn]

我知道如何做前 3 个,但我完全不知道如何定义最后一个形式。这就是我所拥有的:

type ('nonterm, 'term) test =
| Empty
| T of 'term
| N of 'nonterm
| ????

对于 seq,我需要匹配子表达式 x1 到 xn 的实例。如果 x = 0,则这是空的。有人可以帮我吗?提前致谢。

最佳答案

Seq 的子表达式还测试?如果是这样,您可以使用列表:

type ('nonterm, 'term) test =
| Empty
| T of 'term
| N of 'nonterm
| Seq of ('nonterm, 'term) test list

当然,列表可以为空。

关于Ocaml 变体类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4777744/

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