数据类型的未绑定类型构造函数
Unbound Type Constructor for datatype
如果我已经初始化了一个数据类型 dataype dd = DAT of int*int
,我该如何为函数初始化一个数据类型。
类型叫Cint
,不是CI
,所以需要类型的地方要用Cint
:
fun cadd(a:Cint, b:Cint) =
或者,如果您想继续使用数据类型构造函数,您可以使用涉及模式的不同语法 CI
:
fun cadd(a as CI _, b as CI _) =
您也可以直接在函数中进行模式匹配,而不是使用 case-of:
datatype Cint = CI of int * int
fun get_first_val (CI (a, _)) = a
fun get_second_val (CI (_, b)) = b
fun cadd (CI (a1, b1), CI (a2, b2)) =
CI (a1+a2, b1+b2)
如果我已经初始化了一个数据类型 dataype dd = DAT of int*int
,我该如何为函数初始化一个数据类型。
类型叫Cint
,不是CI
,所以需要类型的地方要用Cint
:
fun cadd(a:Cint, b:Cint) =
或者,如果您想继续使用数据类型构造函数,您可以使用涉及模式的不同语法 CI
:
fun cadd(a as CI _, b as CI _) =
您也可以直接在函数中进行模式匹配,而不是使用 case-of:
datatype Cint = CI of int * int
fun get_first_val (CI (a, _)) = a
fun get_second_val (CI (_, b)) = b
fun cadd (CI (a1, b1), CI (a2, b2)) =
CI (a1+a2, b1+b2)