我正在写一个haskell程序,我是haskell的新手。我有一个用户定义的数据类型,并尝试在函数中使用它作为参数。在我的函数实现中,我需要区分用于生成数据的不同构造函数。我该怎么办?
data myData = C1 Int | C2 String
myFunc :: myData -> Int
myFunc c from constructor C1 = 0
myFunc c from constructor C2 = 1
答案 0 :(得分:3)
喜欢这个? (我想你想在构造函数上进行模式匹配)
myFunc :: myData -> Int
myFunc (C1 _) = 0
myFunc (C2 _) = 1