我正在尝试定义一个过程,该过程采用 2 个列表和一个非负整数的参数。假设完美输入。我希望它构造第一个列表中的元素列表,直到它达到给定的元素整数,此时我想用第二个列表中的其余元素完成它。让我演示一下。
~(combine '(a b c d e) '(w x y z) 2)
(a b y z)
请注意,第二个列表从下一个索引继续,就好像它一直被制作成 cdr 一样。
这就是我所拥有的。当然,它不起作用,我想我可能使用了错误的逻辑。
(define (combine seq1 seq2 point)
(if (null? (or seq1 seq2))
'()
(if (equal? point 0)
(cons seq2 '())
(cons (car seq1) (combine (cdr seq1) (cdr seq2) (- point 1) )))))
所有帮助将不胜感激!
谢谢!