我对 Haskell 很陌生,不知道如何解决我遇到的以下问题。
我必须实现以下函数“ca”,它接受一个列表和一个元素,并在输入元素之后删除列表中的所有其他元素:
ca:: Eq a => a -> [a] -> [a]
我不允许更改任何函数类型,并且到目前为止提出了以下代码:
ca x xs = let (ys, zs) = splitAt (elemIndex x xs) xs in ys
这会产生以下错误:
couldn't match expected type 'Int' with the actual type 'Maybe Int'
现在我明白为什么会发生这个错误,但是我不明白如何修复它。任何帮助,将不胜感激。