我有一个练习要做,然而由于我是这门语言的新手,我找不到任何方法可以做到这一点.
我有这个"重复"的功能,这个功能是根据本段给出的.它接收一个Int列表并返回一个Bool值.它应该检查列表是否有任何重复的元素.如果是这样,它是真的,如果不是,那就是假的.还有一个额外的:我必须通过递归来定义函数,所以它必须是递归函数.非常感谢任何帮助.
repeated :: [Int] -> Bool
Run Code Online (Sandbox Code Playgroud)
编辑1:到目前为止,我只是成功地使用了这么多代码
repeated :: [Int] -> Bool
repeated [] = False
repeated (h:t) =
Run Code Online (Sandbox Code Playgroud)
这让我回到空列表中.其余的,到目前为止我还没弄清楚......
编辑2:忘了单数列表......还有,可能的答案?
repeated :: [Int] -> Bool
repeated [] = False
repeated [_] = False
repeated (h:t) = if elem h t then True
else repeated t
Run Code Online (Sandbox Code Playgroud)
这就是它.我已经编译了.hs并且它工作得很好.谢谢大家的建议和提示!:)
haskell ×1