【发布时间】:2019-10-07 15:04:26
【问题描述】:
我有一个任务,我需要检查给定的 Int 是否是元组列表中任何元组的第一个元素。例如,如果我想检查1 是否是列表[(2,3), (3,3), (2,7)] 上任何元组的第一个元素,它应该返回False,但是,如果我想检查1 是否是列表中的第一个元素[(2,2), (1,2), (3,4)],它应该返回True。
这是我的尝试:
isFirst :: (Eq a) => a -> [(a,b)] -> Bool
isFirst _ [] = False
isFirst x [(y1, y2)] = x == y1
isFirst x ((y1, y2):l) = if y1 : isFirst l then True
else False
我还是 Haskell 的新手,所以我真的不知道我是否接近正确的解决方案,感谢您的帮助!
【问题讨论】:
标签: haskell