私はこのようなものを実装する必要があります:
(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))
ループマクロでこのようなことをすることは可能ですか?別の関数として実装することもできますが、表現力を高めるためにループまたはループ状のマクロを使用したいと思います。おそらく、この場合のためだけに単純なループのようなマクロを定義する方法がありますか?