欢迎!请查看关于页面以了解更多关于如何工作的信息。
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小组中提出并讨论。
开放问题:队列字面量的参数应求值吗?这表明以下内容
`;; 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日相同。它只删除了一个在clojure.iml中添加的行,Rich之后在不同的提交中添加了该行,因此该补丁现在可以干净地应用于最新主分支。
由于最近提交了一个针对CLJ-1070的补丁,我于2012年10月16日提交的修改过的补丁文件clj-976-queue-literal-eval-and-synquote-patch-v3.txt无法完美应用。在这种情况下,不仅仅是几行上下文发生了变化,持久队列实现的接口也已经被更改。在这种情况下,最好您查看最新的代码和补丁,并考虑如何进行更新。
评论者:[email protected]
与CLJ-1078相关。
评论者:alexmiller
由于Rich尚未审查,将其回退到需_triaged。