basic haskell:将Type转换为Int

时间:2013-10-07 11:32:48

标签: haskell

如果我有类型,例如保险号是int。

无论如何,我可以将insurancenumber转换为int以用于比较函数吗?

intNI :: NI -> Int
intNI x = Int (x)

1 个答案:

答案 0 :(得分:1)

如果我怀疑NI被定义为

type NI = Int

然后你可以说

intNI :: NI -> Int
intNI x = fromIntegral x

或,在eta转换后:

intNI :: NI -> Int
intNI = fromIntegral

另一方面,似乎

data NI = NI Int

在这种情况下,正确的方法是模式匹配,如下所示:

intNI (NI x) = x

这将从x中提取NI x位并将其返回。