例如,要在某个点计算多项式,我必须遍历它的 coefficients ai ∈ a0..an
,将每个乘以自变量幂i
并将其全部相加。(我知道霍纳的方法,只是想不出更好的例子)当然我可以用一些生成的序列压缩系数,并以某种方式遍历这些对:
(loop for (ai, i)
in (apply #'list a (loop for i from 0 below (length a) collect i))
sum (* ai (expt x i)))
但这似乎很麻烦。有没有办法将它组合在一个循环中?
编辑:mapcar
,不是apply
。