正在尝试为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))