(defun total-value (field L)
"Answer average value of fields of complex entries in list L"
(if (null L)
0
(+ (funcall field (first L))
(total-value field (rest L)))))
1 个答案:
答案 0 :(得分:1)
此函数计算field中L的总和。它相当于
(reduce #'+ L :key field)
或(更糟糕的是!不要这样做!)
(apply #'+ (mapcar field L))
此处field是一个从L元素中提取数值的函数; funcall是Common Lisp的工件Lisp-2:Scheme(或任何其他Lisp-1)中的(funcall field ...)看起来像(field ...)。