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

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

+1
集合

我遇到了需要检查某个内容是否是临时的场景,以便知道是否应该调用assoc(image: 或 assoc, conj) 或 conj等。

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

11 答案

0

评论由:alexmiller作出

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

0

评论由:devn作出

Alex:我猜那样可能更合适!为此表示歉意。我已经更新了补丁。它现在包括文档字符串,并为#{}, (link: ), 和 {}中的transient?执行了测试。

谢谢!

0

评论由:alexmiller作出

感谢您-请不要使用“补丁”或“测试”这样的标签,因为这些已经在“补丁”字段中涵盖。

0

评论由:devn作出

哎呀,对不起,Alex。我假设你第一次移除了“补丁”这个标签,以标示这个工单仍然需要经过审查的补丁。是我的错误。

0

评论者:jafingerhut

补丁0001-Add-transient-predicate.patch,日期为2014年3月17日,对最新版本的Clojure master兼容无问题,但由于新函数transient?缺少:added元数据,所以测试未通过。请参考clojure.core中的其他大多数Clojure函数为例。

在进行测试时,也生成了一条新的警告

警告:transient?已在clojure.test-clojure.data-structures命名空间中引用为:#'clojure.core/transient?,现在正被:#'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中删除了private版本的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。此补丁已成功应用于master的最新版本。

0

评论者:jafingerhut

补丁0003-Add-transient-predicate.patch,日期为2013年8月6日,在2014年8月29日对Clojure进行某些提交之后,无法干净地应用到最新的master分支。在此之前,它能够干净地应用。

我还没有检查更新此补丁是否简单或困难。

0

评论由:devn作出

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

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