(define (delete-doubles lst)
(cond ((null? lst) '())
((null? (cdr lst)) (car lst))
((equal? (car lst) (cadr lst)) (delete-doubles (cdr lst)))
(else (cons (car lst) (delete-doubles (cdr lst))))))
Это код, который я сделал.Он предназначен для удаления элемента в списке, когда этот элемент появляется два или более раз друг за другом.Код работает совершенно нормально, кроме этого:
> (delete-doubles '(1 2 2 3 4 5))
(1 2 3 4 . 5)
Я хотел бы удалить .
, и я знаю, что это как-то связано с cons
, но я не знаюкак решить.
Заранее спасибо.