2014-05-11 5 views
0

스키마에서 술어를 인수로 취하는 함수를 구현하려고합니다.(scheme) 술어를 함수의 인수로 사용

(define (delete-rows table predicate) 
(filter predicate (cddr table) 
) 
) 

술어 에 따라 목록을 필터링하고 내가

(delete-rows student-table 
(lambda (table row) ;this is the predicate (two lines) 
(eq? (get table row 'name) 'mehmet))) 

을 다음과 같이 함수를 호출 할하지만

filter: contract violation 
expected: (any/c . -> . any/c) 
given: #<procedure:...cuments\mumu.rkt:88:0> 
+0

참조 http://stackoverflow.com/q/23595759/1193075 – uselpa

+0

그는 나에게 몇 분 전에 물었다. – arslanbenzer

답변

0

귀하의 술어가이 소요과 같은 오류를 제공이 제 기능 매개 변수 (테이블, 행)이지만 filter은 하나의 매개 변수 (처리 할 요소)만으로 조건자를 호출합니다. 따라서 오류.

솔루션에 대한 답변은 this question입니다.

관련 문제