欢迎!有关如何使用本网站的更多信息,请参阅关于页面。
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组中提出和讨论。
开放问题:队列文字的参数应该评估吗?这是以下示例所表述的含义:
`;; 评估情况
;=> #queue [1 2 (+ 1 2)]
;; eval case
;=> #queue [1 2 3] `
此开放问题的答案将决定实现方式。
评论者:jafingerhut
2012年10月16日,clj-976-queue-literal-eval-and-synquote-patch-v3.txt的修改与Fogus于2012年7月20日提供的CLJ-976-queue-literal-eval-and-synquote.diff修改相同。它简单地移除了Rich后来的不同提交中添加到clojure.iml中的一行,因此这个补丁现在可以干净地应用到最新的master上。
由于最近对CLJ-1070提交了一个补丁,我修改过的补丁 clj-976-queue-literal-eval-and-synquote-patch-v3.txt(2012年10月16日)无法干净地应用。在这种情况下,不仅仅是上下文中的几行发生了变化,实现PersistentQueue接口的接口也已更改。最好查看最新的代码和补丁,并考虑如何进行更新。
评论人:[email protected]
与CLJ-1078相关。
评论人:alexmiller
将该问题回退到Triaged状态,因为Rich尚未审核。