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

欢迎!请访问关于页面以获取一些关于该功能的更多信息。

+1
Collections

我遇到了一些需要检查某物是否为瞬态,以确定我是否应该调用 assoc(image: 或 assoc, conj) 或 conj 等的情况。

此补丁添加了作为谓词函数的 transient?

11 个答案

0

评论者:alexmiller

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

0

评论者:devn

Alex:我觉得那应该是这种情况!对此表示歉意。我已经更新了补丁。现在它包括一个文档字符串和 transient? 的 #{}, (link: ), 和 {} 的测试。

谢谢!

0

评论者:alexmiller

谢谢 - 请不要使用“补丁”或“测试”等标签 - 这些标签被补丁字段覆盖。

0

评论者:devn

啊,对不起亚历克斯。我以为你第一次把“补丁”作为一个标签是因为你需要一个经过审核的补丁。我的错。

0

评论由:jafingerhut 提出

更新补丁 0001-Add-transient-predicate.patch(2014年3月17日),可以干净地应用于最新的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中。如果它在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 提出

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

我尚未检查更新此补丁可能会多么容易或困难。

0

评论者:devn

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

0
...