欢迎!请参阅 关于 页面获取有关如何使用此网址的更多信息。
Clojure 的 PersistentQueue 结构已经在语言中存在一段时间了,并且已经出现在了很多代码库中。然而,创建队列的操作通常需要两步,例如
`(conj clojure.lang.PersistentQueue/EMPTY :a :b :c)
`
;=> # `
可能有一个更好的体验,如下所示
;=> #queue [:a :b :c]
(pop #queue [:a :b :c])
;=> #queue [:b :c] `
这种语法在 https://groups.google.com/forum/?fromgroups#!topic/clojure-dev/GQqus5Wycno 的 Clojure-dev 小组中被提出和讨论
开放性问题:队列字面量的参数应该进行 eval 吗?这的影响如下所示
`;; non-eval case
;=> #queue [1 2 (+ 1 2)]
;; eval case
;=> #queue [1 2 3] `
对这个问题答案的选择将决定实现方式。
评论者:jafingerhut
clj-976-queue-literal-eval-and-synquote-patch-v3.txt 最后修改日期为 2012 年 10 月 16 日,与 Fogus 的补丁 CLJ-976-queue-literal-eval-and-synquote.diff 最后修改日期为 2012 年 7 月 20 日相同。它仅删除了在 Rich 在不同的提交中添加到 clojure.iml 中的一行,因此此补现在可以干净地应用于最新的 master。
自从最新提交了CLJ-1070的补丁之后,我修改后的补丁文件clj-976-queue-literal-eval-and-synquote-patch-v3.txt(2012年10月16日发布)已经无法干净地应用了。在这种情况下,不仅仅是几个上下文行发生了变化, PersistentQueue实现的面相(API接口)也已经改变了。最好的办法可能是你查看一下最新代码和补丁,考虑一下应该如何更新。
评论者:[email protected]
与CLJ-1078相关。
评论者:alexmiller
由于Rich尚未审查,此问题移回Triaged(已分类)状态。