1
값을 전송하는 곳에서 함수를 수행하고 제거 할 값이 동일한 경우 목록에서 체크해야합니다. 다음은 몇 가지 예는 다음과 같습니다SCHEME 목록에서 원자 값을 제거하십시오.
(elimina 1 '(a b c)) => (a b c)
(elimina 'b '(a (b) c)) => (a() c)
(elimina 1 '(0 (1 (2) 1) 0)) => (0 ((2)) 0)
나는이 시도 : 어떤 이유로
(elimina 1 '(a b c)) => (a b c)
(elimina 'b '(a (b) c)) => (a())
(elimina 1 '(0 (1 (2) 1) 0) => (0 ((2)))
목록의 마지막 값이 표시되어 있지 않을 경우이 같은 곳
(define (elimina v1 lista)
(cond ((null? lista)'())
((list? (first lista))
(list (elimina v1 (first lista))))
(else
(if(equal? v1 (first lista))
(elimina v1 (cdr lista))
(append (cons (first lista) (elimina v1 (cdr lista))))))
)
)
그리고 내 결과를 . 누군가가 도울 수 있기를 바랍니다.
감사합니다.
감사 흠뻑! –