OCaml用户定义类型模式匹配
如果我创建自己的类型,例如:OCaml用户定义类型模式匹配,ocaml,user-defined-functions,Ocaml,User Defined Functions,如果我创建自己的类型,例如: type mynew = | Base | Co of mynew | Io of mynew 如何使用模式匹配访问/解构此类型?因此,如果我有IO(CO(IO(BASE)),我可以将其作为值传递给函数,并访问第一部分(IO)和尾部(CO(IO(BASE))?您只需应用模式匹配: match yourParam with Base -> (**) | Co(t) -> (*Something with t*) | I
type mynew =
| Base
| Co of mynew
| Io of mynew
如何使用模式匹配访问/解构此类型?因此,如果我有IO(CO(IO(BASE)),我可以将其作为值传递给函数,并访问第一部分(IO)和尾部(CO(IO(BASE))?您只需应用模式匹配:
match yourParam with
Base -> (**)
| Co(t) -> (*Something with t*)
| Io(t) -> (*Something with t*)
谢谢我找不到关于它的好文档,这很有帮助。只要谷歌“递归类型的模式匹配”,你就会发现足够的资源Real World OCaml有一个很好的例子。