そのため、いくつかのイベントのいくつかのメトリックを合計するストリーム関数に取り組んでいます。これを行うには、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
一緒に追加する必要があるサービスのベクトルを含む周囲の関数の引数です。は、2 つの引数を取り、 /をfunc
返す関数です。上記のスニペットを使用すると問題なく動作しますが、3 要素よりも大きいまたは小さいベクトルが機能するように単純化できるようにしたいと考えています。true
false
これまでのところ、私はこれを持っています:
(project (mapv (fn[service] (
`func (:service event) ~service)
) service-list)))
(..)
評価されていない関数のベクトルを返すと思います。project
それがマクロであることに気付いたとき、私はこのアプローチを採用しました。私が正しいことをしているかどうかはわかりません...