(define every-aux
(lambda(status predicate lst)
(cond((null? lst) status)
((cond((equal? (predicate (car lst)) #t)
(set! status #t)
(every-aux status predicate (cdr lst)))
(else (set! status #f) status))))))
上面的过程返回void如果谓词与lst中的每个元素都不匹配?我该如何强制方案明确返回#f而不是仅仅是void?
虽然谓词匹配lst的每个元素,但它没有任何问题返回#t。
更改最后一行
(else (set! status #f) status))))))
到
(else (set! status "#f") status))))))
返回 “#F” 这样的程序是正确的。
我如何强制计划明确返回#f而不是仅仅是void?