[英]Haskell function to work on integer tuple
我刚刚开始学习 Haskell 并且正在尝试创建一个函数,该函数对包含 6 个整数的元组执行多次检查。 这些检查包括:
问题是我可以尝试这样做并具有一些工作功能,例如
contains e [] = False
contains e (x:xs)
| x == e = True
| otherwise = contains e xs
unique :: [Int] -> Bool
unique [] = True
unique (x:xs)
| contains x xs = False
| otherwise = unique xs
对于第一个要求,但正如您所看到的,这依赖于使用列表而不是元组。 如果有人可以帮助我为元组创建这些函数,以及任何代码效率建议,我将不胜感激。
您可以将 6 元组转换为列表,使用:
tuple6ToList :: (a, a, a, a, a, a) -> [a]
tuple6ToList (a, b, c, d, e, f) = [a, b, c, d, e, f]
然后例如对列表运行检查。 这可能更简单,因为然后可以在列表上递归,而对于元组,这意味着您将检查“展开”为对元素的单独检查。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.