我需要实现这样的事情:
(loop for i from 1 to N sum (f i))
除了累积值表示像 (1 2 3) 这样的数字列表并且它们是按元素添加的。换句话说,我想用 (zerov N) 初始化求和并使用 (v+) 添加后续元素:
(defun v+ (a b) (mapcar '+ a b))
(defun zerov (n) (loop for i from 1 to n collect 0))
可以用循环宏做这样的事情吗?我可以将它实现为一个单独的函数,但我想使用循环或类似循环的宏来表达。也许有一种方法可以为这种情况定义简单的类似循环的宏?