欢迎!有关如何使用本网站的更多信息,请参阅关于 页面。
Clojure 的 PersistentQueue 结构已经存在于语言中很长一段时间,并且已经进入了许多代码库。然而,创建队列通常是一个两步操作,形式如下
`(conj clojure.lang持续性队列/ EMPTY :a :b :c)
`
;=> # `
可能有一种更好的体验如下
=> #queue [:a :b :c]
(弹 #queue [:a :b :c])
=> #queue [:b :c] `
此语法已在https://groups.google.com/forum/?fromgroups#!topic/clojure-dev/GQqus5Wycno 的 Clojure-dev 小组中提出并讨论。
开放问题:队列字面量的参数应该评估吗?这一点的含义如下所示
`;;非评估案例
=> #queue [1 2 (+ 1 2)]
;;评估案例
=> #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 中的行,因此此补丁现在可以干净地应用到最新主分支。
由于最近提交了一个针对CLJ-1070的补丁,我的修改过的补丁文件clj-976-queue-literal-eval-and-synquote-patch-v3.txt(2012年10月16日修改)不能正常应用。在这种情况下,不仅仅是几行上下文发生了变化,PersistentQueue实现的可接口也发生了变化。您最好查看最新的代码和补丁,并考虑如何进行更新。
评论者:[email protected]
与CLJ-1078有关。
评论者:alexmiller
由于Rich尚未审核,问题状态变更为“已三度审查”。