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

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

+1
集合

我遇到了需要检查某些数据是否为transient的情况,以便了解是否应该调用assoc(image:或assoc, conj)或conj等操作。

此补丁将transient?添加为一个谓词函数。

11 答案

0

评论者:alexmiller

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

0

评论者:devn

Alex:我想那应该是这种情况!很抱歉。我已经更新了补丁。现在它包括一个文档字符串,并且对transient?关于{},(link: )和{}的测试。

谢谢!

0

评论者:alexmiller

谢谢 - 请不要使用“patch”或“test”标签 - 那些包含在“补丁”字段中。

0

评论者:devn

哎呀,对不起,Alex。我错误地认为你第一次将“patch”标签删除来标记此工单仍需要一个经过审查的补丁。

0

评论者:jafingerhut

补丁0001-Add-transient-predicate.patch(日期:2014年3月17日)可以干净地应用于最新的Clojure master版本,但由于新函数transient? 没有添加:added元数据,而未能通过测试。请参考clojure.core中其他大多数Clojure函数的示例。

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

警告:'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 master版本。我还没有检查这个补丁是否可以轻松更新。

0

评论者:devn

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

0

评论者:jafingerhut

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

我还没有检查更新这个补丁的难易程度。

0

评论者:devn

我已将补丁更新到 0004-Add-transient-predicate.patch。此补丁可干净地应用到最新版本的 master。

0
...