(define (de-caesar shift numbers ret)
(cond
[(null? numbers) ret]
[else (de-caesar shift (cdr numbers) (append ret (list(+ (car numbers) shift))))]
))
此函数将值(3)和值列表'(17 3 9 21)和空列表'()作为参数。 递归地,形成一个新的值列表,并通过将所有输入值移动3来返回'(20 6 12 24)。
话虽这么说,我应该能够用一个只接受2个参数(移位和数字)的函数来做到这一点。
如何在不传递预先创建的空列表参数的情况下返回此新值列表?
非常感谢任何帮助/信息。