2024 Clojure 状况调查中分享您的想法!

欢迎!请参阅关于页面获取更多有关如何使用本站的信息。

+1
集合

我遇到了需要检查某个东西是否瞬态的情况,以便知道是否应该调用assoc(image:或assoc, conj)或conj等情况。

这个补丁把transient?添加为一个谓词函数。

11 个答案

0

评论者为:alexmiller

补丁需要文档字符串和测试。

0

评论者为:devn

Alex:我觉得应该是这种情况!抱歉,我已经更新了补丁。现在它包括了一个文档字符串,并为 #{}, (link: ), 和 {} 执行了 transient? 测试。

谢谢!

0

评论者为:alexmiller

谢谢 -请不要使用“补丁”或“测试”这些标签 - 这些已经在“补丁”字段中涵盖了。

0

评论者为:devn

哎呀,对不起Alex。我原来以为你第一遍移除了“补丁”这个标签,以标记这个工单仍需要一个经过审查的补丁。这是个错误。

0

评论者:jafingerhut

日期为2014年3月17日的补丁0001-Add-transient-predicate.patch,最新Clojure主版本可干净地应用,但有一个测试失败,因为新函数transient?没有:added元数据。参考clojure.core中的其他大多数Clojure函数以获取示例。

它还会在运行测试时生成一个新的警告

警告:transient?已经引用:#'clojure.core/transient? 在命名空间:clojure.test-clojure.data-structures中,将被替换为:#'clojure.test-clojure.data-structures/transient?

在测试文件data_structures.clj中有一个旧的(但等效的)transient?定义,在将其添加到clojure.core时应将其删除

0

评论者为:devn

@Andy,我没有添加:added元数据的原因是,我不知道这个补丁是否以及何时会被接受,因此,我也不确定它是否会悄悄地进入1.6.X或1.7。目前,我已经将其放在1.7中。如果它在更早的时候被添加,请告诉我,我会进行调整。

关于警告。很好的发现。我已提交了一个新的补丁,该补丁从data_structures.clj中删除了transient?的私有版本。所有测试均通过。

补充:截至本评论,最新的补丁为0002-Add-transient-predicate.patch。

0

评论者:jafingerhut

由于今天早些时候的一些更改,补丁0002-Add-transient-predicate.patch日期为2014年3月22日,不再干净地应用于最新Clojure主版本。我尚未检查该补丁是否易于更新。

0

评论者为:devn

我已经更新了补丁到0003-Add-transient-predicate.patch。此补丁可以干净地应用于最新的主版本。

0
by

评论者:jafingerhut

补丁 0003-Add-transient-predicate.patch(2013年8月6日制作)在2014年8月29日对Clojure进行了一些提交后,不能再干净地应用于最新的master版本。在此之前它是可以的。

我还没有检查更新这个补丁可能会有多容易或多困难。

0
by

评论者为:devn

我已将补丁更新为0004-Add-transient-predicate.patch。这个补丁可以干净地应用于最新的master版本。

0
by
参考: https://clojure.atlassian.net/browse/CLJ-1386 (由devn报告)
...