如何从 Clojure REPL 评估 reader 条件

How to evaluate reader conditionals from a Clojure REPL

我了解如何使用 reader conditionals. But I'm not able to evaluate code with reader conditionals in the REPL, which makes it rather difficult to use Vim Fireplace 编写代码来评估我的 .cljc 文件中的代码。 (我想 Emacs 和 Cursive 用户会遇到类似的问题,但也许他们不同的方法可以解决这个问题。)

当我尝试使用 Fireplace 评估带有 reader 条件的 .cljc 时出现的错误是

RuntimeException Conditional read not allowed  clojure.lang.Util.runtimeException (Util.java:221)

我找到了 this article,其中指出如果您尝试使用扩展名为 .clj 的文件中的 reader 条件语句,您将收到此错误。这向我表明 lein REPL 正在尝试评估代码,就好像它来自 .clj 文件一样。

有没有办法让 lein repl 以不同的方式解释事物以避免这个问题?解决这个问题的其他方法?或者这是不可能的?

我将 tools.repl 从版本 0.2.3 更新到 0.2.11,这似乎成功了!不确定可以解决此问题的最小版本是什么,但我无法想象不只是升级到最新版本有多大意义。

(我还应该注意到,我将 lein 从 2.5.1 升级到 2.6.1,但这并没有解决隔离问题;怀疑这是必要的,但如果以上没有,则值得尝试'不给你解决问题...)