Clojure - Fusion de cartes avec

Renvoie une carte composée du reste des cartes conjuguées à la première. Si une clé apparaît dans plus d'une carte, le (s) mappage (s) de cette dernière (de gauche à droite) sera combiné avec le mappage dans le résultat.

Syntaxe

Voici la syntaxe.

(merge-with f hmap1 hmap2)

Parameters- «f» est l'opérateur qui doit être appliqué aux cartes de hachage. 'hmap1' est la carte des clés de hachage et des valeurs. 'hmap2' est la carte des clés de hachage et des valeurs, qui doit être mappée avec le premier HashMap.

Return Value - Renvoie une carte composée du reste des cartes conjuguées à la première.

Exemple

Voici un exemple de fusion avec Clojure.

(ns clojure.examples.example
   (:gen-class))
(defn example []
   (def demokeys (hash-map "z" 1 "b" 2 "a" 3))
   (def demokeys1 (hash-map "a" 2 "h" 5 "i" 7))
   (println (merge-with + demokeys demokeys1)))
(example)

Production

Le code ci-dessus produit la sortie suivante.

{z 1, a 5, i 7, b 2, h 5}

Notez que dans la sortie puisque la clé «a» apparaît deux fois, la valeur est ajoutée à partir des deux HashMaps selon l'opérateur +.