Racket - 如何使用map实现过滤,仅应用和追加

时间:2017-04-09 00:43:53

标签: functional-programming scheme racket

在函数式编程中,

如何使用map实现过滤器,仅应用和追加(不使用其他高阶函数,递归或突变)?

谢谢!

1 个答案:

答案 0 :(得分:4)

(define (filter ? lst)
  (apply append (map (λ (x) (if (? x) (list x) '())) lst)))