我现在在使用"reduce"来实现我自己的copy-list版本时遇到了问题.这就是我所做的:
(defun my-copy-list (lst)
(reduce #'(lambda (x y)
(cons x y))
lst :initial-value nil :from-end t))
Run Code Online (Sandbox Code Playgroud)
但是,我的老师说没有必要使用那个lambda,我对此很困惑.我们如何在不使用lambda的情况下实现相同的功能(但必须使用'reduce').非常感谢.
mqp*_*mqp 15
你的老师意味着你正在定义这个功能
(lambda (x y) (cons x y))
Run Code Online (Sandbox Code Playgroud)
但是已经存在一种能够做到这一点的功能 - cons本身.因此reduce,您可以通过而不是将lambda作为参数传递cons.