所以我才刚刚开始我的 clojurescript 体验,并跟随 clojurescript-unraveled了解基础知识的网络书。大部分过程都很顺利,但我在使用 #queue []
文字时遇到了障碍。我正在使用运行 Clojure 1.8.0、Java 1.8.0_112-b16 和 Leiningen 2.7.1 的lein repl
。
当我输入以下内容时:
(def pq #queue [1 2 3])
我得到这个堆栈跟踪:
RuntimeException No reader function for tag queue
clojure.lang.LispReader$CtorReader.readTagged (LispReader.java:1245)
RuntimeException Unmatched delimiter: )
clojure.lang.Util.runtimeException (Util.java:221)
我也尝试了 #js
标签文字,并得到了相同的 No reader function for tag ...
异常。但是,UUID 和时间文字实例按预期工作,没有运行时错误。
我正在深入研究这个问题,现在正处于探索 edn 规范和 cljs.reader
实现的更广泛主题的领域,但我不是在做一个在解决原始问题方面取得了很大进展。非常感谢任何关于为什么/可能会发生此异常的见解。
谢谢。
最佳答案
#queue []
语法存在于 clojurescript 中,但不存在于 JVM clojure 中。可以引用clojure.lang.PersistentQueue/EMPTY
,这是一个空队列。
关于java - 在 REPL 中使用队列文字时出现 RuntimeException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45604847/