filter

filter, comme son nom l'indique, permet de filtrer des séquences.

Le premier paramètre de filter est une fonction prenant un paramètre que nous appelerons f, le second la séquence à filtrer.

(f elem) sera appelé pour chaque élément de la séquence. Seul les éléments dont le résultat de cet appel est true (pour Clojure, donc ni nil ni false seront conservés. Par exemple:

(filter even? [1 2 3])

filtrera tous les éléments impairs (even? sera appelé pour chaque élément du vector passé en paramètre).

filter retourne une séquence lazy.

Précédent - Suivant -

;; keep only even numbers
(println (filter even? [1 2 3]) "\n")

;; keep only maps with a :b key
(println (filter :b [{:a 1} {:b 2} {:b 1}]) "\n")

;; keep all numbers > 10
(println (filter (fn [elem] (> elem 10)) [2 5 11 9 81]) "\n")

Powered by mcorbin - Available on Github