OCaml 中的空树类型



我正在尝试创建一个表示空二叉树的类型(基本上,只是它的骨架(。然后,这种类型的变量将通过模式匹配进行迭代。

我了解如何为标准类型(intstring等(实例化固定的多态变体 - 请参阅下面的int_tree。但是,目前还不清楚是否有可能从多态变体中创建一个空变体(下面的empty_tree行在编译过程中因 SyntaxError 而失败(。

代码如下:

type 'a binary_tree =                                                                                                                
| Leaf of 'a                                                                                                                       
| Node of 'a binary_tree * 'a * 'a binary_tree                                                                                     
type int_tree = int binary_tree;;                                                                                                    
type empty_tree = () binary_tree;;  
()

不是一个类型,但它是类型unit的唯一值。

() binary_tree就像写0 binary_tree(而不是int binary_tree(。

您的空树应为unit binary_tree类型。

相关内容

  • 没有找到相关文章

最新更新