如果我创建一个类型,例如type SchoolClass = (Int,Char)
,我如何从SchoolClass变量中只检索Int?我可以创建一个将SchoolClass变量作为参数的函数,但是,有一个简单的解决方案已经内置到Haskell中吗?对不起,如果这是一个简单的问题,我找不到合适的搜索条件来得到答案,我对Haskell来说真的很新。
感谢
答案 0 :(得分:1)
类型同义词(例如SchoolClass
)的行为完全就像它们所代表的类型一样,所以很简单:
getIntFromClass :: SchoolClass -> Int
getIntFromClass (i, _) = i
这实际上与fst
函数相同,它具有类型(a,b) -> a
,即它获得了2元组的第一个成员。所以你可以写:
getIntFromClass = fst
如果您需要data
和type
方面的帮助,请阅读LYAH chapter on the subject。