2017-04-06 80 views
1

我開始用球拍,我想顯示這個功能,增加了利弊清單的CDR的價值,在球拍:與球拍開始,小問題

(define (add-cdrs '((a . 1)(a . 2)(a . 3)(a . 4))) 
(if (null? l) 
    0 
    (+ (cdr(car l))(add-cdrs(cdr l))))) 

輸出應該是:10

但是,我不知道該怎麼做,或者把顯示功能放在哪裏。

謝謝

回答

3

你混淆過程定義議事調用(結合實際列表參數(在這種情況下應該宣佈將用來保存列表的參數) )。除此之外,你的邏輯是正確的。試試這個:

(define (add-cdrs lst) 
    (if (null? lst) 
     0 
     (+ (cdr (car lst)) (add-cdrs (cdr lst))))) 

(add-cdrs '((a . 1) (a . 2) (a . 3) (a . 4))) 
=> 10