如何检查记录是否实现特定协议?

时间:2016-03-02 11:15:20

标签: clojure

我有一个协议:

(defprotocol IInterval
  (-duration  [in]))

以及实现它的记录:

(defrecord Interval [start end]
  IInterval
  (-duration  [_] (- end
                     start)))

如果我创建(def i1 (Interval 0 1000))

我如何才能使用方法implements?

(implements? IInterval i1) => true

1 个答案:

答案 0 :(得分:8)

您可以使用satisfies?

(satisfies? IInterval i1)