2014-09-10 3 views
1
(define (unknown (lambda (x y) 
    (cond 
    ((null? y) y) 
    ((x (car y)) (unknown x (cdr y)))) 
    (else (cons (car y) (unknown x (cdr y))))))) 

저는 스키마에 관해서 초보자이며이 함수의 목적을 교과서에서 발견했습니다. 내 주된 의문은 ((x (car y))가 무엇을하는지에 달려있다.이 표현식은 연산자없이 어떻게 실행 되나 컴파일하는 동안 오류는 발생하지 않는다. x의 값은 I 입력은 분명히 함수에 대한 적용되지 않습니다. 도와주세요.다음 함수는 Scheme 프로그래밍 언어에서 무엇을합니까

+1

오 그래. x는 "0"과 같은 것을 사용합니다. ? – hotinlavacoolinjava

+0

예. __________ –

답변

2

계획 기능은 인수로 기능을 할 수 있으며, 기능을 반환 할 수 있습니다. 당신은 인수로 함수에 전달하는 경우 귀하의 코드는 의미가 있습니다.

이 같은 코드를 호출하는 경우

는 :.

(unknown even? '(1 2 3 4 5)) 

가 다음 목록 (1 3 5)를 반환해야합니다을이 r에 필터링 기능입니다 함수 x를 멤버에 적용한 결과가 false 인 y의 멤버를 반환합니다.

+0

알았어, 알았어. 도와 주셔서 감사합니다. – hotinlavacoolinjava

+2

@hotinlava : np. Little Schemer를 읽으십시오. 이렇게 많은 것을 가지고 있습니다. –

관련 문제