3
학교 과제물에 대한이 Scheme lambda construction을 제거해야합니다.Scheme에서 람다를 제거 하시겠습니까?
아이디어가 있습니까?
(define (foo x)
(define (h y z)
(cond
((null? y) 'undefined)
((null? (cdr y)) (car z))
(else (h (cddr y) (cdr z)))))
(h x x))
을 ... 또는 당신은 도우미 절차로, foo
의 외부 h
절차를 추출 할 수 있습니다 :
(define (foo x)
(letrec
((h
(lambda (y z)
(cond
((null? y) 'undefined)
((null? (cdr y)) (car z))
(else (h (cddr y) (cdr z)))
))))
(h x x))
)
나는 임무 지내야하는 이유를 정말로 이해하지 못합니다. 다른 방법 (내부 정의가 'letrec'이라는 것을 보는 것)이 더 유익한 것처럼 보인다. – newacct