Clojure 扩展关联性
Clojure extend Assotiative arity
我需要实现自定义关联,但它不适用于多个参数。它只处理第一对。它似乎直接调用 assoc,而不是通过 core assoc 然后 RT/assoc.
(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
支持多元性应该怎么做?
println
return无。所以return原值:
(def my-assoc (reify
clojure.lang.Associative
(assoc [m k v]
(println "assoc!!" k v)
m)))
(assoc my-assoc :a 2 :b 3) ;; prints both
我需要实现自定义关联,但它不适用于多个参数。它只处理第一对。它似乎直接调用 assoc,而不是通过 core assoc 然后 RT/assoc.
(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
支持多元性应该怎么做?
println
return无。所以return原值:
(def my-assoc (reify
clojure.lang.Associative
(assoc [m k v]
(println "assoc!!" k v)
m)))
(assoc my-assoc :a 2 :b 3) ;; prints both