如何定义函数xor,其中参数的数量可以是从0到n的任何位置。
(xor true true true true) -> false
(xor true false false false true) -> true
等......
答案 0 :(得分:0)
这是一个骨架解决方案:
(define (xor . vals)
(define (inner vals)
(cond ((null? vals) <???>)
((null? (cdr vals)) <???>) ;; optional optimisation
((car vals) (not <???>))
(else <???>)))
(inner vals))
弄清楚所有<???>
是什么。