我正在尝试理解如何使用isa?
函数,但还不完全清楚这个函数的有效参数是什么,但它们似乎是类型标识符、类型名称,或者是什么Clojure术语。
我的问题是:给定两个对于isa?
有效的类型标识符,我如何找出这两个指定类型是否相交。也就是说,是否有可能有一个对象属于这两种类型?
Ambrose的博客文章对此有所暗示,使我更加好奇。
正如博客文章所规定的,不存在Clojure中与Common Lisp的subtypep
函数等效的函数。但在Common Lisp中,我可以通过询问类型A是否是类型B的子类型来表达交集类型。因此,我可以通过询问交集是否为空类型来提问交集问题。(subtypep (and A B) nil)
那么在Clojure中,什么功能与之最为相似?