Clojure - Aggiunta di una nuova chiave alla struttura

Poiché le strutture sono immutabili, l'unico modo per aggiungere un'altra chiave alla struttura è tramite la creazione di una nuova struttura. Un esempio di come questo può essere ottenuto è mostrato nel seguente programma.

Esempio

(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)

Nell'esempio sopra, associamo una nuova chiave chiamata EmployeeRank alla struttura, ma creando un nuovo oggetto struttura.

Produzione

Il programma precedente produce il seguente output.

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