【发布时间】:2017-06-08 11:13:48
【问题描述】:
我已经找了好几天了,基本上我需要实现一个函数,它与系统函数 reduce 所做的事情相同。这是我到目前为止提出的,但没有初始值i 我无法让它工作。
这是我的代码
(defun my-reduce (p i lista)
(if (null lista)
i
(funcall p (car lista) (my-reduce p i (cdr lista)))))
顺便说一句,它甚至不能正常工作,因为它“倒退”了 例如:
(my-reduce #'list NIL '(1 2 3 4))
应该返回
(((1 2) 3) 4)
但我明白了
(1 (2 (3 (4 NIL))))
有什么想法吗?
【问题讨论】:
标签: list functional-programming lisp common-lisp reduce