所以我正在研究一个流函数,它将总结几个事件的一些指标。为此,我使用该project
函数,它看起来像这样:
(project [(func (:service event) (nth service-list 0))
(func (:service event) (nth service-list 1))
(func (:service event) (nth service-list 2))]
(..))
service-list
是周围函数的一个参数,它包含一个必须相加的服务向量。func
是一个函数,它接受两个参数并返回一个true
/false
使用上面的代码片段可以正常工作,但我希望能够简化它,以便大于或小于 3 个元素的向量可以工作。
到目前为止,我有这个:
(project (mapv (fn[service] (
`func (:service event) ~service)
) service-list)))
(..)
我认为它返回一个未评估的函数向量。一旦我意识到这project
是一个宏,我就采用了这种方法。不知道我是否做对了...