【发布时间】:2016-02-22 12:25:04
【问题描述】:
我想知道如何使用 Scheme/Racket 中的 foldr、map、filter 等将下面的显式递归函数转换为高阶/抽象函数。
(define (insertNoDups f element lst)
(cond[(empty? lst) (cons element lst)]
[(f element (first lst)) lst]
[else (cons (first lst)
(insertNoDups f element (rest lst)))]))
(define (remove-dups f lst)
(cond[(empty? lst) empty]
[else (insertNoDups f
(first lst)
(remove-dups f (rest lst)))]))
【问题讨论】:
标签: recursion scheme racket fold higher-order-functions