我从Racket开始,我想在Racket中显示这个函数的值,该函数添加了一个缺点列表的cdrs:
(define (add-cdrs '((a . 1)(a . 2)(a . 3)(a . 4)))
(if (null? l)
0
(+ (cdr(car l))(add-cdrs(cdr l)))))
输出应为:10
但是,我不知道该怎么做或在哪里放置显示功能。
谢谢
答案 0 :(得分: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