remove :: String -> String -> String
remove xs ys = foldr (condCons) "" ys
where
condCons l rs | l `notElem` xs = l : rs
| otherwise = rs
Также разрешено сбрасывать параметр 'ys':
remove :: String -> String -> String
remove xs = foldr (condCons) ""
where
condCons l rs | l `notElem` xs = l : rs
| otherwise = rs
В основном condCons принимает символ L и строку Rs.Если L не является элементом xs, то оно соответствует Rs, в противном случае оставьте Rs без изменений.foldr принимает condCons, начальную строку "" и второй аргумент ys.L принимает каждый символ строки ys справа налево, создавая новую строку из "", используя двоичный оператор condCons.