回答
对于一般情况下,你可以使用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)
更好,使用'(ifn?a)'。 –
@DaveRay如何?我不知道一个接口会自动带有一个测试谓词,文档中对此进行了解释?它是否适用于Java接口,比如'Serializable'? –
不,每种类型都没有泛型谓词,但问题是如何测试'IFn',在这种情况下,我会认为'ifn?'比使用'instance?'更习惯。同样,我会使用'string?'而不是你的第一个例子。 –
- 1. 检查类是否实现接口
- 2. TypeScript - 检查类是否实现接口
- 3. 检查对象是否实现接口
- 4. 如何检查是否一个类实现一个接口
- 5. C#如何检查一个类是否实现泛型接口?
- 6. 如何检查Class.forName()是否实现了特定的接口?
- 7. 如何检查方法参数是否实现多个接口
- 8. 检查类是否在ActionScript 3.0中实现特定接口
- 9. 如何检查接口对象是否实现另一个接口?
- 10. 检查是否$ _POST变量是人口
- 11. 在Clojure中实现Java通用接口
- 12. PHP检查是否实际类实现接口
- 13. 如何检查变量是否在Prolog中实例化?
- 14. 如何检查变量是否存在?
- 15. 如何检查变量是否在python
- 16. 检查变量实现接口而不编译
- 17. 如何检查一个类是否实现NRefactory中的接口方法
- 18. 如何在运行时检查某个类是否实现了某个接口?
- 19. 如何检查是否接口高达
- 20. 如何检查协议是否实现?
- 21. 如何检查是否字符串出现在变量的jQuery
- 22. 检查值是否实现接口的说明。 Golang
- 23. 检查父代片段是否实现接口
- 24. 如何检查变量是否为CFString?
- 25. 如何检查变量是否有值?
- 26. 如何检查变量是否定义?
- 27. 如何检查变量是否为空?
- 28. Clojure中是否存在惰性变量?
- 29. 如何检查类类型,看看它是否实现了一个接口
- 30. 如何动态加载php代码并检查类是否实现接口
你为什么想要?这可能表明设计破损。 –