2024年Clojure状态调查!中分享您的想法。

欢迎!请查看关于页面了解有关此网站的更多信息。

0
记录和类型

我正在尝试理解如何使用isa?函数,但还不完全清楚这个函数的有效参数是什么,但它们似乎是类型标识符、类型名称,或者是什么Clojure术语。
我的问题是:给定两个对于isa?有效的类型标识符,我如何找出这两个指定类型是否相交。也就是说,是否有可能有一个对象属于这两种类型?

Ambrose的博客文章对此有所暗示,使我更加好奇。
正如博客文章所规定的,不存在Clojure中与Common Lisp的subtypep函数等效的函数。但在Common Lisp中,我可以通过询问类型A是否是类型B的子类型来表达交集类型。因此,我可以通过询问交集是否为空类型来提问交集问题。(subtypep (and A B) nil)

那么在Clojure中,什么功能与之最为相似?

1 个答案

0

https://clojure.org/reference/multimethods是创建任意关键字层次结构和使用isa?的相当好的概述。

不确定我对类型问题或Lisp环境了解得足够多,无法回答剩下的问题。

...