最佳答案
#queue []
是 tagged literal : #queue
使用 *data-readers*
的 queue
成员来转换或解释 []
。
这个阅读器的具体定义在src/main/clojure/cljs/tagged_literals.cljs在 ClojureScript 存储库中,引用自 *cljs-data-readers*
definition below ;它将 []
从向量转换为 cljs.core.PersistentQueue .
另请参阅 https://cljs.github.io/api/syntax/queue-literal 处的文档
Clojure 和 ClojureScript 中的持久队列结构的存在是为了允许高效地插入一端并从另一端弹出 - 与列表和向量相反,列表和向量仅在从同一端插入和弹出时才有效。
关于function - (def empty-queue #queue []) 中的 "#queue"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43526673/