0
這是工作代碼調用+/-計算,它返回(calculate '(3 2 1) 0 0) -> 0
和(calculate '(7 5 1 2) 0 0) -> 1
。如何從Scheme中的遞歸調用中獲得#t和#f的返回值?
我想實現#F或#T結果。先謝謝你。
(define calculate(lambda (List sum1 sum2)
(cond ((null? List)(if (> sum1 sum2) (- sum1 sum2) (- sum2 sum1)))
((> (calculate (cdr List) (+ sum1 (car List)) sum2)(calculate (cdr List) sum1 (+ sum2 (car List))))
(calculate (cdr List) sum1 (+ sum2 (car List))))
(else (calculate (cdr List) (+ sum1 (car List)) sum2)))))
感謝莫拉萊斯: (cond((null?list)0) 如果我們初始值列表爲零,那麼我們可以有正面和負面的返回值,所以我想得到#t爲正(真)和# f爲否定e(false)在lambda函數中使用條件。 – Pat