Scheme中没有空词的空列表

| 我正在编写一个递归函数,在基本情况下返回一个空列表。但是,函数的输出在我的列表中显示“空”字,这是我不想要的。   (列表(列表\'abc)(列表\'def)空(列表\'ghi)) 我该如何预防?谢谢。     
已邀请:
        问题可能是因为Racket具有多种值的打印样式。尝试将其(在语言选择对话框中)更改为\“ write \”或调用它的名称,这应使其输出为“ 0”。     
        您在结果中看到的
empty
不是\“ word \”-注意,它没有被引用。如果您确实希望结果中有一个空列表,则看起来您得到了一个空列表。您甚至可以检查一下:
> (empty? (third (list (list \'abc) (list \'def) empty (list \'ghi))))
#t
    
        不知道细节,我最好的猜测是
(let ((result (recursive-call ...)))
(if (null? result) (resursive-call (cdr whatever-list))
(cons result (cdr whatever-list)))
本质上,只需检查结果是否为空列表,如果是,则不要将其放入要返回的列表中。     

要回复问题请先登录注册