我在Clojure 1.2中创建了一个协议,用于处理我的Java类,并为通用的java.lang.Object提供默认处理。代码大致如下:
(extend-protocol PMyProtocol
my.java.ClassName
(protocol-function [c]
"My Java class result")
java.lang.Object
(protocol-function [c]
"Default object result"))
我该如何扩展它,以便对标准的Clojure数据结构(特别是maps、vectors和sequences)进行特殊处理?
c.l.IPersistentMap
,c.l.IPersistentVector
,c.l.IPersistentSet
(其中有一些系统...),以及对于序列c.l.ISeq
。 - kotarak