2016-12-05 1 views
2

일부 목록 함수를 거쳐 Scheme에서 프로그래밍하고 있습니다. 나는 재미로 이것을하고있다. 이것은 학교/대학 과제가 아닙니다. 내가 아주 기본적인 기능과 진술로 넘어지고 있다는 것을 깨닫는 것은 겸허하다!스키마에서 단순 목록 함수 디버깅?

놀랍게도이 member? 함수는 오류가 발생하며, 하나 이상의 Scheme REPL이 비 함수 #t를 탭하려고 시도하고 있다고보고합니다.

(define member? 
    (lambda (atm lst) 
     (cond 
     ((null? lst) #f) 
     ((equal? atm (car lst)) #t) 
     (else 
      ((member? atm (cdr lst))))))) 

내가 뭘 잘못하고 있니? (member? atm (cdr lst)) 가정

답변

2
((member? atm (cdr lst))) 

위가 (#t)에 해당, #t로 평가 때문에 오류 메시지가 당신을 말하고 무엇을 함수로 #t을 적용하려고합니다.

바깥 괄호를 제거하면 원하는 결과를 얻을 수 있습니다.