1
Je dois implémenter assoc personnalisé, mais il ne fonctionne pas avec plusieurs arguments. Il ne traite que la première paire. Il semble qu'il appelle directement assoc, pas via core assoc, puis RT/assoc.Clojure étendre l'arité Assotiative
(def my-assoc (reify
clojure.lang.Associative
(assoc [_ k v]
(println "assoc!!" k v))))
(assoc my-assoc :a 2 :b 3) ;; prints only :a 2
Comment cela devrait-il être fait pour supporter la multi-arité?
merci! parfait! – uNmAnNeR
Si vous regardez [la source de 'clojure.core/assoc'] (https://github.com/clojure/clojure/blob/clojure-1.9.0-alpha14/src/clj/clojure/core.clj# L181), vous verrez qu'il cascades les appels à 'RT/assoc' pour chaque paire' kv'. – Thumbnail