嗨,我收到了错误 mcar:合同违反预期:mpair?给定:()在运行这些代码时:
(define helpy
(lambda (y listz)
(map (lambda (z) (list y z))
listz)))
(define print
(lambda (listy)
(cond
((null? list) (newline))
(#t (helpy (car listy) (cdr listy))
(print (cdr listy))))))
我的代码试图在列表中返回对。例如,当我调用
(print '(a b c))
它时应该返回((a b) (a c) (b c))
.
我只是修复和更新我的代码,现在它不返回错误但我只能得到对((ab)(ac),运行这些代码时:
(定义帮助
(lambda (y listz)
(map (lambda (z) (list yz))
列表z)))
(定义打印
(拉姆达(列表)
(条件
((null?listy) (换行符))
(#t (helpy (car listy) (cdr listy)))
(print (cdr listy)))))
我认为我的递归有问题