目的是:使用foldr
定义一个函数remove,该函数以两个字符串作为参数,并从第二个列表中出现的第一个列表中删除每个字母。例如,remove "first" "second" = "econd"
。
如果此函数使用单个字符和一个字符串,我将这样做:
remove a xs = foldr (\x acc -> if x /= a then x : acc else acc) [] xs
但是我不知道该如何使用两个字符串来实现这一点。谢谢!
最佳答案
remove xs ys = foldr (\x acc -> if elem x xs then acc else x : acc) [] ys
是的
关于list - Haskell函数需要两个字符串,并根据第一个过滤第二个字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52303239/