(remove-all x lst)
функция, которая удалила все, что в lst было равно x
.Для этой проблемы напишите схему функции (remove-if f lst
, которая возвращает список со всеми элементами, для которых (f x)
является истинно удаленным.
У меня есть простой код удаления всего:
(define (remove-all x ls)
(if (null? ls)
'()
(if (eq? x (car ls))
(remove-all x (cdr ls))
(cons (car ls)
(remove-all x (cdr ls))))))
Но как мне изменить его так, чтобы он принимал функцию и возвращал список с теми элементами, которые возвращают true, удалено?