Racket 如何减去球拍中的任意两个列表?

Racket 如何减去球拍中的任意两个列表?,racket,Racket,我想定义一个函数,它使用两个列表,并对另一个列表进行减法运算 例如,当列表1是’(a b c)而列表2是’(a b)时,减法结果应该是’(a b c) 我试图通过lambda实现它并删除它,最终生成了几个列表 我真的不知道怎么做。这里有一种方法: #lang racket (define (subtract xs ys) (if (empty? ys) xs (subtract (remove (first ys) xs) (rest ys)))) (subtrac

我想定义一个函数,它使用两个列表,并对另一个列表进行减法运算

例如,当列表1是’(a b c)而列表2是’(a b)时,减法结果应该是’(a b c)

我试图通过lambda实现它并删除它,最终生成了几个列表

我真的不知道怎么做。

这里有一种方法:

#lang racket
(define (subtract xs ys)
  (if (empty? ys)
      xs
      (subtract (remove (first ys) xs) (rest ys))))

(subtract '(a a b b c) '(a b))

哦,一旦我知道怎么做就很简单了。真的很有帮助。非常感谢你!
(减法“(a)”(a))
的结果如何?