1
는 의 49 조미 음모, 다음 코드에서 (행 14-16) 무슨 일이 일어나고 있는지 이해할 수 없다 :조미 고안자 : Intersectall (49 페이지) 페이지에서
(define intersectall
(lambda (lset)
(letcc hop
(letrec
((A (lambda (lset)
(cond ((null? (car lset)) (hop '()))
((null? (cdr lset)) (car lset))
(else (I (car lset)
(A (cdr lset)))))))
(I (lambda (s1 s2)
(letrec
((J (lambda (s1)
(cond ((null? s1) '())
((member? (car s1) s2) (J (cdr s1))) ; (14)
(else (cons (car s1) ; (15)
(J (cdr s1)))))))) ; (16)
(cond ((null? s2) '())
(else (J s1)))))))
(cond ((null? lset) '())
(else (A lset)))))))
내 라인 (14)에서 의심된다
((member? (car s1) s2) (J (cdr s1)))
(car s1)
s2
경우의 부재, 그것은 결과적으로은 consed해서는 안 되는가? 마찬가지로, 라인 15, 17 :
(else (cons (car s1) (J (cdr s1))))))))
가s2
가 회원이 아니라면, 그것은 결과적으로은 consed하지을 생략하지 않겠습니까?
이것은 잘 공식화 된 질문 이었지만 혼란에 대해 잘 설명해 주었지만 간단한 오류 였기 때문에 아마도 다른 사용자에게 도움이되지는 않을 것이므로 질문을 제거하는 것이 합리적입니다. (그래도 제거하지 않으면 대답을 받아 들여야합니다.) –
저는이 책 시리즈에서 어려운 주제를 찾을 때마다 Stack Overflow를 학습 지원으로 사용했습니다. 그래서 나는 다른 사람들에게도 도움이 될 것이라고 생각합니다. 나는 그 대답을 받아 들일 것이다. –