在 OCaml 中的二叉树中声明元组



我知道这就是你定义二叉树类型的方式:

type 'a btree = Empty
              | Node of 'a * 'a btree * 'a btree

我将如何使它成为元组树,以便它具有类型 ('a, 'b) btree

好吧,您的第一个定义定义了任何类型的树。所以它也适用于元组。

# type 'a btree = Empty |Node of 'a * 'a btree * 'a btree;;
type 'a btree = Empty | Node of 'a * 'a btree * 'a btree
# Node ((2,3), Empty, Empty);;
- : (int * int) btree = Node ((2, 3), Empty, Empty)
# Node ((2, true), Empty, Empty);;
- : (int * bool) btree = Node ((2, true), Empty, Empty)

如果需要在节点中强制实施元组,则可以通过在定义中将'a替换为'a * 'b并将'a btree替换为('a, 'b) btree来定义始终包含元组的树。

相关内容

  • 没有找到相关文章

最新更新