J'ai un hachage de document est une référence comme celui-ci:Comment ajoutez-vous cette table de hachage dans Clojure?
(def *document-hash* (ref (hash-map)))
Il ressemble à ce
{"documentid" {:term-detail {"term1" count1 ,"term2" count2}, "doclen" 33}}}
Comment puis-je ajouter à cette table de hachage En ce moment je
(defn add-doc-hash [docid term-number count]
(dosync (alter *document-hash*
(fn [a-hash]
(assoc a-hash docid {:term-detail
(assoc ((a-hash docid)) :term-detail) term-number count), :doclen 33))))))
?
- Je veux mettre à jour le détail des détails des documents
- Chaque fois qu'un nouveau terme vient, je veux obtenir le terme-détails et mettre à jour les termes et le nombre
- d'abord le hachage est vide
Mais cela jette l'exception de pointeur NULL car ther hachage durée détail n'est pas créé lorsque j'essaie d'ajouter le terme-nombre.
Vous pouvez également profiter du fait que la mise à jour en crée des noeuds: user => (mise à jour dans {} [: salut: maman] # (si% (inc%) 0)) -> {: hi {: mum 0}} –