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 master版本,但因为新的函数 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 添加

由于今日早些时候提交的一些更改,修改日期为2014年3月22日的补丁0002-Add-transient-predicate.patch不再可以干净地应用到最新的Clojure master版本。我还没有检查这个补丁是否容易更新。

0

由:devn评论

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

0

评论由:jafingerhut 添加

修改日期为2013年8月6日的补丁0003-Add-transient-predicate.patch在2014年8月29日向Clojure提交了一些更改后不再能够干净地应用到最新的master版本。在那一天之前它能够顺利应用。

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

0

由:devn评论

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

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