我正在学习clojure,正在尝试使用shadow-cljs在clojure REPL中进行实验。我以为eval是clojure.core
的一部分,但是使用它
(eval (list + 1 2))
产生Error: cljs.core/*eval* not bound
我也尝试过,但是出现了相同的错误
(require `clojure.core)
(clojure.core/eval (list + 1 2))
这是为什么?
答案 0 :(得分:2)
您可能使用ClojureScript REPL,其中eval
仅作为需要additional setup的自托管构建的一部分。 clojure.core
在编译器中会自动别名为cljs.core
,这就是为什么会出现cljs.core/*eval*
错误的原因。
如果您打算进行Clojure REPL的实际工作,则应该使用
shadow-cljs clj-repl
这将为您提供纯粹的Clojure REPL。