Cem*_*lay 2 haskell list filter
目标是:使用foldr,定义一个函数remove,它将两个字符串作为参数,并删除第一个列表中出现的第二个列表中的每个字母.例如,remove "first" "second" = "econd".
如果此函数使用单个字符和字符串,我会这样做:
remove a xs = foldr (\x acc -> if x /= a then x : acc else acc) [] xs
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚我应该用两个字符串做这个.谢谢!
remove xs ys = foldr (\x acc -> if elem x xs then acc else x : acc) [] ys
Run Code Online (Sandbox Code Playgroud)
是的.
| 归档时间: |
|
| 查看次数: |
162 次 |
| 最近记录: |