1
我需要實現自定義assoc,但它不適用於多個參數。它只處理第一對。它似乎直接調用assoc,而不是通過core assoc,然後是RT/assoc。Clojure extend Assotiative arity
(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
應該怎麼做才能支持多元化?
謝謝!完善! – uNmAnNeR
如果你看[clojure.core/assoc'的源代碼](https://github.com/clojure/clojure/blob/clojure-1.9.0-alpha14/src/clj/clojure/core.clj# L181),你會發現它爲每個'kv'對級聯調用'RT/assoc'。 – Thumbnail