我需要编写一个查找和替换给定模式的方案程序,并且我已经让它只在一层嵌套上工作,但是当列表中的下一辆车是列表本身时,我的程序无法正确递归它.
这是我到目前为止所拥有的:
(define replace
(lambda (source target replacement)
(if (eqv? source target)
replacement
(if (null? source)
'() ;;base case
(if (equal? target (car source))
(cons replacement (replace (cdr source) target replacement))
(cons (car source)
(replace (cdr source) target replacement))
)
)
)
)
)