2013-02-01 23 views
0

任何人都可以请解释我们如何在Ocaml中定义新的数据类型,并且我对ocaml是全新的。说,我必须定义一个新的类型bitseq,这就是所有的二进制数字。在ocaml中定义新的数据类型

那么,我在网上浏览各种教程后做了什么,是 类型num = Nil| 0 |1;;,并尝试了一些它并没有解决的变化。

回答

2

你看过manual的变种吗?

每种情况都由一个名称(称为构造函数)来标识,该名称用于构造变体类型的值并通过模式匹配来检查它们。 构造函数名称大写为,以将它们与变量名称(必须以小写字母开头)区分。

因此,您不能使用01作为构造函数名称。如果我是你,我并不关心在我的二进制数表示中的前导零,我会去寻找以下内容:

type bit = Zero | One 
type bitseq = bit list