删除方案中的列表成员删除*

时间:2015-04-21 09:40:53

标签: list scheme racket

所以我想从列表中删除#\space,假设列表为(#\a #\b #\space #\b #\space),我想(remove* (list space) (list #\a #\b))所有空格。

所以当我跑步时,

(remove* (list #\space) (list #\a #\b #\space #\b #\space))

打印输出正确。即'(#\a #\b #\b)

如果我写的话也是如此:

(define somelist #\space)

(remove* (list somelist) (list #\a #\b #\space #\b #\space))

但是如果我通过以下方式创建一个列表:

(define somelist (string->list " "))

失败了。

我不知道区别是什么以及它为什么不起作用。无论如何,在我的程序中,我需要通过string->list删除成为列表一部分的空格。知道怎么做吗?

我使用的是Racket。

1 个答案:

答案 0 :(得分:0)

您将char列表包装在另一个列表中。

你想要的是:

(remove* somelist (list #\a #\b #\space #\b #\space))