我正在编写一个名为 myElems 的 Haskell 函数
它接受两个值列表,如果第一个列表中的所有值都在第二个列表中,则返回 true。例如,myElems "db" "abcd"
应该返回true
而myElems [1,2] [0,1,3,4]
应该返回false
。
myElem
功能是这样的
myElem n [] = False
myElem n (x:xs) = if n == x then True else myElem n xs
这个函数工作得很好,但是当我尝试将它应用到具有这种形式的 myElems 函数时
myElems xs [] = False
myElems [] ys = False
myElems (x:xs) (y:ys) = if myElem y xs /= myElem x ys then False else myElems (tail xs) (tail ys)
它根本不起作用。