这是我的功能:
(define (remove-digit digit list)
(cond ((null? list ...))
(( = (car list) digit) (remove-digit digit (cdr list)))
(else (cons (car list) (if (null? list) (cons(remove-digit digit (cdr list))))))is:
它应该这样做:
(1 2 4 5 2 5 6)之后(删除数字2列表)应为(1 4 5 5 6)
但是当列表变为空时我无法想象该怎么做。
你能给我一些帮助或某种想法吗?非常感谢你!答案 0 :(得分:1)
返回一个空列表(或list
本身)。它是您的功能的基础案例。
(define (remove-digit digit list)
(cond ((null? list) list)
((= digit (car list)) (remove-digit digit (cdr list)))
(else (cons (car list) (remove-digit digit (cdr list))))))
要推断基本情况,请轻松考虑remove-digit
的“最小”情况,并将空列表作为参数。
(remove-digit digit '())
对于提供的任何'()
值,它应该显然返回digit
。