任何人都可以向我解释如何在Ocaml中定义新的数据类型,我对ocaml完全不熟悉。比如说,我必须定义一个新类型的bitseq,即所有二进制数字。
所以,我在网上浏览各种教程之后做的就是
输入num = Nil| 0 |1;;
并尝试了一些无效的变体。
答案 0 :(得分:2)
你看过变种类型的manual了吗?
每个案例都由名称标识,称为构造函数,用于构造变体类型的值并通过模式匹配检查它们。 构造函数名称大写,以区别于变量名(必须以小写字母开头)。
因此,您无法使用0
或1
作为构造函数名称。如果我是你而且我不关心在我的二进制数表示中引导零,我会选择以下内容:
type bit = Zero | One
type bitseq = bit list