(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?