对列表中的每个元素运行一个函数,并使用cons输出答案



我有一个函数,它接收一个列表,并将列表中的每个元素传递给另一个返回数值的函数。我需要一个接收列表的函数来输出结果列表,类似于map的工作方式。

这是我到目前为止所拥有的,但它给了我意想不到的输出。

(define (lister x)
  (cond ((null? x) '())
  (cons (solver (car x)) (lister (cdr x))) )
)
(lister '(
  (element 0)
  (element 3)
))

预期的输出应该是'(0 3),但它返回的是'()

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

相关内容

最新更新