假设我创建了以下数据类型,如下所示:
data MolSeq = DNA (String, String) String | Protein (String, String) String
然后我创建一个类型为DNA的MolSeq数据类型:
dna = DNA ("T2", "ACATAA") "DNA"
我怎么能在以后的程序中返回让我们说值“T2”?
谢谢!
答案 0 :(得分:4)
您可以对其进行模式匹配,例如:
getMolString :: MolSeq -> String
getMolString (DNA (s, _) _) = s
getMolString (Protein (s, _) _) = s
这里有live example
数据类型只是数据,您应该使用函数来处理它,您不能将它们视为具有属性或方法的对象。