正在尝试为Scheme创建筛选函数

正在尝试为Scheme创建筛选函数,scheme,Scheme,所以我有 (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)

所以我有

(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)))

所以本质上你传入类似(filter偶数?'(1234))的东西,它返回2和4。筛选器:给定的错误是算术不匹配。

您忘记传递
func
谓词,并且没有命名函数
filter
,这与内置过程冲突。试试这个:

(define (my-filter func lst)
  (countNumber (filter func lst))