1

我有一系列 ClojureScript 对象,但其中只有一些实现了某种协议。如何检测协议是否在特定对象上扩展?

4

1 回答 1

2

您可以使用satisfies?来检查对象是否扩展了协议。

(defprotocol p
  (go [_] nil))

(deftype t []
  p
  (go [this] true))

(satisfies? p (t.)) ;=> true
于 2013-09-15T20:44:31.080 回答