【发布时间】:2020-10-16 12:24:49
【问题描述】:
我刚刚开始学习 Haskell,并正在尝试创建一个函数,该函数对包含 6 个整数的 tuple 执行多项检查。 这些检查包括:
- 所有数字都不一样;
- 交替数字是偶数和奇数,或奇数和偶数;
- 替代数字相差两个以上;
- 第一对和中间的数字对构成数字,它们都是最后一对的倍数
问题是我可以尝试这个并且有一些工作功能,比如
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
对于第一个要求,但正如您所见,这依赖于使用 list 而不是元组。 如果有人可以帮助我如何为元组创建这些函数以及任何代码效率建议,我将不胜感激。
【问题讨论】:
-
这不是一个元组,这是一个列表。
-
您可以将元组转换为列表。
-
这就是问题的重点