defstruct
è efficacemente deprecato nel linguaggio, a favore di defrecord
. Dovremmo andare avanti in Clojure (basato su JVM), quindi mi aspetto che Clojurescript sia lo stesso. Vedere quanto segue:
Clojure: data structures: "Nota: la maggior parte degli usi di StructMaps sarebbe ora meglio servita dai record."
ClojureDocs: defstruct commento di steveminer: "Le strutture sono obsolete. Utilizza invece i record. Visualizza defrecord."
Il prossimo The Joy of Clojure, 2a ed. (edizione prerelease V9) di Fogus e Houser afferma: "Con l'avvento di defrecord
, la necessità di costruire strutture è stata quasi eliminata, e quindi le strutture non sono trattate in questo libro". (p 322)
Si noti inoltre che Programmazione Clojure, 2a ed. di Halloway e Bedra copre lo defrecord
ma non lo defstruct
(sebbene ci siano alcune citazioni passeggere di strutture, forse lasciate accidentalmente dal 1 ° ed.).
Immagino che tutte le persone fantastiche usino lo defrecord
in questi giorni. :-)
Alex Miller's answer a "Dove dovrei usare la deframeria in clojure?" ha una bella discussione sui vantaggi (e gli svantaggi) di defrecord
, anche se non lo fa, principalmente, confrontandolo con defstruct
.
Questo * è * efficacemente deprecato nella lingua, in favore di 'defrecord': [defstruct] (http://clojuredocs.org/clojure_core/clojure.core/defstruct). Dovremmo andare avanti in (Clojure basato su JVM). Mi aspetterei che Clojurescript fosse lo stesso. – Mars
Grande - aggiungilo come risposta con un riferimento e lo contrassegnerò come risposta. – hawkeye