1
나뭇잎 나는 다음과 같은 코드가 있습니다제거 항목은 빈 널리스트 요소
이(define (atom? x)
(and (not (null? x))
(not (pair? x))))
(define delete
(lambda (atom l)
(cond
((null? l) '())
((atom? l)
(cond
((not(eq? atom l)) l)
(else '())
)
)
(else (cons (delete atom (car l)) (delete atom (cdr l))))
)
)
)
목표는이 목록에서 특정 문자를 제거하는 것입니다. 예를 들어, 대신이의
(delete 'a '(a b a)) ==> (b)
나는 점점 오전 :
(delete 'a '(a b a))==> (() b())
나는 체계에 새로운입니다. 값을 찾으면 아무 것도 반환하지 않으려 고 노력했지만 다음과 같이 동작합니다.
(delete 'a '(a b a))==> (#<void> b #<void>)
아이디어가 있으십니까? 많은 감사합니다!
또한이 대답은 잘못되었습니다. 내 솔루션의 예제를 사용하여 테스트하면 더 복잡한 목록에 대해 잘못된 결과가 표시됩니다. 내 솔루션이 더 정교한 이유가 있습니다.이 문제는 쉽지 않으며 외관상으로 간단하지만 부정확 한 솔루션을 제공하면 아무에게도 도움이되지 않습니다. –