Clojure - Ajout d'une nouvelle clé à la structure

Puisque les structures sont immuables, la seule façon d'ajouter une autre clé à la structure est de créer une nouvelle structure. Un exemple de la manière dont cela peut être réalisé est présenté dans le programme suivant.

Exemple

(ns clojure.examples.example
   (:gen-class))
(defn Example []
   (defstruct Employee :EmployeeName :Employeeid)
   (def emp (struct-map Employee :EmployeeName "John" :Employeeid 1))
   (def newemp (assoc emp :EmployeeRank "A"))
   (println newemp))
(Example)

Dans l'exemple ci-dessus, nous associons une nouvelle clé appelée EmployeeRank à la structure, mais en créant un nouvel objet de structure.

Production

Le programme ci-dessus produit la sortie suivante.

{:EmployeeName John, :Employeeid 1, :EmployeeRank A}