我必须创建一个名为(list-push-front lst new-list)的过程,它将new-list中的元素添加到lst的前面。例如,输出:( list-push-front'(4 3 7 1 2 9)'(1 2))应该给出
'(1 2 4 3 7 1 2 9)
这是我到目前为止,但我收到一个arity错误消息,预期参数数量(2)与预期的给定数字不匹配(1)
(define(list-push-front lst new-list)
(if(null? lst)
'()
(append(list-push-front(car new-list))(lst(car lst)))))

答案 0 :(得分:3)
只需调用append
程序,它完全符合您的需要 - 在使用新程序时,您应始终参考documentation。在这种情况下,我们不必编写显式递归,使用内置函数就足够了:
(define (list-push-front lst new-list)
(append new-list lst))
例如:
(list-push-front '(4 3 7 1 2 9) '(1 2))
=> '(1 2 4 3 7 1 2 9)