我有一个函数,它接受一个列表并将列表中的每个元素传递给另一个返回数值的函数。我需要一个函数,它接受一个列表来输出结果列表,类似于map
的工作方式。
这是我迄今为止所拥有的,但它给了我意想不到的输出。
(define (lister x)
(cond ((null? x) '())
(cons (solver (car x)) (lister (cdr x))) )
)
(lister '(
(element 0)
(element 3)
))
预期输出应为'(0 3)
,但它会返回'()
。
答案 0 :(得分:1)
cond
用法错误。
尝试:
(define (lister x)
(cond [(null? x) '()]
[else (cons (solver (car x)) (lister (cdr x)))]
)
)
或使用if
:
(define (lister x)
(if (null? x)
'()
(cons (solver (car x)) (lister (cdr x)))
)
)