首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Clojure中相互引用的deftype

Clojure中相互引用的deftype
EN

Stack Overflow用户
提问于 2011-06-19 09:51:53
回答 1查看 422关注 0票数 7

我想在我的Clojure定义类型中实现transientpersistent!。据我所知,这意味着使用另一个定义类型TransientMyThing来实现必要的方法。到目前为止还好,但这两个类需要相互了解才能返回彼此的实例。

我想我可以通过向前声明Clojure函数make-瞬态和make-persistent,然后定义deftype (通过引用该函数),然后使用现有的类型实现这些函数,但这对我来说似乎相当粗略。有没有更好的选择?

编辑:这是工作,但它仍然是粗俗的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-07 11:41:56

在Clojure 1.3和更高版本中,一种稍微简单一些的解决方案是依赖Clojure为定义类型->transient和->persistent!创建的构造函数。因为这些是函数,而不是宏,所以你可以向前声明它们。然后,您可以使用它们,而不是您自己的make-瞬态和make-persistent,并且您不必自己实现它们。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6400070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档