Lisp 将数字u与列表xu和x2B相加的方案函数;x1和x2B;x2

Lisp 将数字u与列表xu和x2B相加的方案函数;x1和x2B;x2,lisp,scheme,tail-recursion,Lisp,Scheme,Tail Recursion,我对Scheme还不熟悉,并且正在尝试创建函数,即(在fux中),u是整数,x是列表,f是二进制函数。方案表达式(在+3'(1 2 3)中)应返回3+1+2+3=9 我有这个,但如果我有(在+3'(12))它返回3而不是6。我做错了什么 (define (in f u x) (define (h x u) (if (null? x) u (h (cdr x) (f u (car x))))) (h x 0)) 根据我对函数中的的理解,您可以这样定

我对Scheme还不熟悉,并且正在尝试创建函数,即(在fux中),u是整数,x是列表,f是二进制函数。方案表达式(在+3'(1 2 3)中)应返回3+1+2+3=9

我有这个,但如果我有(在+3'(12))它返回3而不是6。我做错了什么

(define (in f u x)
  (define (h x u)
    (if (null? x)
        u
        (h (cdr x) (f u (car x)))))
  (h x 0))

根据我对函数中的
的理解,您可以这样定义它:

(define in fold)   ; after loading SRFI 1
:-p


(更重要的是,你可以考虑一些想法,但你应该提交你自己的版本作为家庭作业。)

我建议对你的代码进行注释。然后很容易将注释与代码实际执行的内容进行比较,以查看错误所在。谢谢,我不会复制粘贴解决方案,不是我所做的,只是想看看是否有人可以给我提示或给我如何解决此问题的想法。谢谢你。