저는 교육적인 이유로 라켓으로 코딩하고 있습니다.이 경우 누적 변수를 라켓에 주문하는 방법은 무엇입니까?
필자는 필터를 사용하지 않고 입력으로 목록을 받고 첫 번째 목록의 짝수에만 다른 목록을 반환하는 작업을해야한다는 과제를 받았습니다.
나는 반복적 인 과정이 재귀 적 정의를 내놓았다 :(define (add-even lista)
(define (iter lista accu)
(cond ((null? lista) accu)
((even? (car lista)) (iter (cdr lista)
(cons (car lista) accu)))
(else (iter (cdr lista) accu))))
(iter lista empty))
그것은 잘 작동합니다. 그러나, 나는이 역순으로, 예컨대 :에 결과를 얻을
(add-even '(1 2 3 4 5 6 7))
>> '(6 4 2)
I 입력에 모양의 동일한 순서로 출력을 가지고 어떻게해야합니까?
나는 역순으로 어떻게하는지 알고있다. 그러나 당신이 iter
절차없이 그것을 할 수 물론
않을 것'필터 '여기가 좀 더 직접적 일까? – naomik
OP는 특별히 필터가없는 함수를 생성하려고합니다 (질문의 두 번째 문장의 첫 번째 문장 참조). – rnso