2
잘못된 쓰여진 재귀 프로 시저를 구문 분석하고 수정해야하는이 임무가 있습니다. 예를 들어 : 이 :하나의 큰 따옴표를 문자열 /리스트의 스키마로 변환합니다.
(let ((fib (lambda (n)
(cond ((= n 0) 1)
((= n 1) 1)
(else (+ (fib (- n 1)) (fib (- n 2))))))))
(fib n))
이로 변환 :
(let ((fib (lambda (n fib-param)
(cond ((= n 0) 1)
((= n 1) 1)
(else (+ (fib-param (- n 1) fib-param)
(fib-param (- n 2) fib-param)))))))
(fib n fib))
절차가 3 개 부품 업체로 주어진다을 다음이 "하자"는이하자, 몸의. 두 번째 부분을 구문 분석하고 싶습니다. (의미는 모든 단어가 "let"의 표현에서 하나의 단어가됩니다) 목록을 만들고 싶습니다.하지만 시도해도 문제가 해결되지 않는 것 같습니다. .
나는 drRacket 체계를 사용하고 있습니다.
긴 메시지를 보내 주셔서 감사 드리며 죄송합니다.
's/let/letrec /'; p 힌트 : 이것은 Y 결합 자입니다. – leppie
내가 당신의 대답을 이해하지 못했다고 말하면 용서해 주시겠습니까? : D 나는 다소 새로운 계획을 세운다. – matmiz
그것은 대답이 아니다, 그것은 주석이다 : 첫 부분은 농담이다. (단지 let을 letrec로 바꾼다. – leppie