Yo soy sólo comenzó a clojure, pero me parece que no puede averiguar mediante el uso de/la creación de funciones de orden mayor.
Yo particiones de una colección y quiero pasar que en otra función que le hiciera algo a la ventana de elementos. No estoy seguro de cómo ir sobre hacer esto.
(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])
Creo que el esquema básico sería.
(defn faz [collect]
(partition 3 1 collect)
;;maybe do here before passing
(bar stand next end)
)
Yo podría estar adelantando a mí mismo, pero también veo que hay otras funciones como reducir y aplicar pueden hacer algo similar a la derecha? Aunque, la mayoría de los ejemplos que me vienen a ella para que realice las operaciones en dos elementos a la vez que son similares a (partition 2 1 foo)