我是函数式编程的初学者,我希望能够将控制台中的值读取到列表中,将该列表作为参数传递,然后在 Scheme 中返回列表的总和。
我想得到这个结果: (display (sum-list-members '(1 2 3 4 5))) 但用户必须在控制台输入这些值。
这就是我正在做的事情:
(begin
(define count 0)
(define sum-list-members
(lambda (lst)
(if (null? lst)
0
(+ (car lst) (sum-list-members (cdr lst))))))
(display "Enter a integer [press -1 to quit]: ")
(newline)
(let loop ((i 0))
(define n(read))
(sum-list-members (list n))
(set! count i)
(if (not(= n -1))
(loop (+ i 1)))
)
(newline)
)