Eu sou apenas começou clojure, mas eu não consigo descobrir utilização/criação de funções de ordem superior.
Eu tenho particionado uma coleção e eu quero passar o que em outra função que vai fazer algo para a janela de itens. Eu não tenho certeza de como fazer isso.
(def foo [:a :b :c :d :e])
(partition 3 1 foo)
;;=> ((:a :b :c) (:b :c :d) (:c :d :e))
(defn bar [start next end])
Eu acho que a estrutura básica seria.
(defn faz [collect]
(partition 3 1 collect)
;;maybe do here before passing
(bar stand next end)
)
Eu devo estar ficando à frente de mim, mas eu também ver que existem outras funções como reduzir e aplicar o que eles podem fazer algo semelhante, certo? Embora, a maioria dos exemplos que eu vejo assim que realizar operações em dois itens de uma vez, que são similares à (partition 2 1 foo)