所以我有
(define (countNumber lats)
(let loop ((lats2 lats)
(count 0))(cond ((null? lats2) count)
((number? (car lats2))
(loop (cdr lats2) (+ count 1)))
(else (loop (cdr lats2) count)))))
我希望制作类似
的过滤功能(define (filter func lst)
(countNumber (filter lst)))
所以基本上你传递的东西(过滤甚至?'(1 2 3 4))然后返回2和4. filter:arity mismatch是给出的错误。
答案 0 :(得分:0)
您忘记传递func
谓词,并且不会将您的函数filter
命名为与内置过程发生冲突。试试这个:
(define (my-filter func lst)
(countNumber (filter func lst))