Lisp 将数字u与列表xu和x2B相加的方案函数;x1和x2B;x2
我对Scheme还不熟悉,并且正在尝试创建函数,即(在fux中),u是整数,x是列表,f是二进制函数。方案表达式(在+3'(1 2 3)中)应返回3+1+2+3=9 我有这个,但如果我有(在+3'(12))它返回3而不是6。我做错了什么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)) 根据我对函数中的的理解,您可以这样定
(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
(更重要的是,你可以考虑一些想法,但你应该提交你自己的版本作为家庭作业。)我建议对你的代码进行注释。然后很容易将注释与代码实际执行的内容进行比较,以查看错误所在。谢谢,我不会复制粘贴解决方案,不是我所做的,只是想看看是否有人可以给我提示或给我如何解决此问题的想法。谢谢你。