所以我定义了一个关键字:
(def a :hello)
如何检查它是否实现了IFn接口?
答案 0 :(得分:15)
对于一般情况,您可以使用instance?
谓词:
(instance? <class-or-interface> <object>)
引用文档:
(instance? c x)
计算x并测试它是否是该类的实例 C。返回true或false。
例如:
(instance? java.lang.String "test")
> true
(instance? java.io.Serializable "test")
> true
对于问题中的代码,请执行以下操作:
(instance? package.of.IFn a)
或者,正如评论中指出的那样,对于询问a
是IFn
的实例的具体情况,这将起作用:
(ifn? a)