4 votes

Fonction d'écoulement de type map en Clojure

J'écris une application simple de photothèque en Clojure. J'ai un library qui a le :photos qui est un vecteur de cartes photographiques. Ensuite, j'ai une fonction qui ajoute une photo à une bibliothèque --- elle prend l'objet bibliothèque et la photo à ajouter comme arguments.

(defn add-to-library [library photo]
  ...
)

Il renvoie un library avec la carte photo ajouté.

Maintenant, je veux "mapper" cette fonction sur une liste de photos. J'ai besoin de pouvoir passer le library d'une itération à l'autre.

Quelle est la manière idiomatique de faire cela en Clojure ?

7voto

Omri Bernstein Points 1350

Essayez :

(reduce add-to-library library list-of-photos) .

Le site reduce est merveilleuse, et c'est un outil général qui est étonnamment applicable dans beaucoup de situations spécifiques. Beaucoup de ces situations sont comme la vôtre, où vous avez une "collection de choses", une "fonction qui ajoute une chose à cette collection", et une "liste de choses à ajouter". Peut-être que ce n'est pas le matériel de départ si vous apprenez d'abord sur reduce mais j'ai trouvé ça très intéressant : http://clojure.com/blog/2012/05/08/reducers-a-library-and-model-for-collection-processing.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X