如何在haskell程序中检查所需的数据类型?

时间:2015-10-16 19:22:47

标签: haskell types structure

data Type1 = My1 Int |Your1 Int | Your Char |My Char deriving (Show , Eq)   

我有[Type1]

在我的计划中,我正在浏览[Type1]。我想检查下一个元素是否为My1 Int(例如My1 25)。

我应如何编写一个在Bool中返回此函数的函数?

我想到了

isMy1 (My1 _)= True
isMy1 _ = False 

但这会返回模式匹配重叠错误。

1 个答案:

答案 0 :(得分:1)

这个例子可能会有所帮助:

data Test = Int' Int 
          | Bool' Bool 
          | Other
    deriving (Eq, Show)

checkType :: Test -> Bool
checkType (Int' _) = True
checkType (Bool' b) = b
checkType _ = False