为什么 eval 没有绑定在 REPL 中?
Why is eval not bound in REPL?
我正在学习 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))
这是为什么?
您可能正在使用 ClojureScript REPL,其中 eval
仅作为需要 additional setup 的自托管构建的一部分。 clojure.core
作为编译器的一部分自动别名为 cljs.core
,这就是为什么您会收到 cljs.core/*eval*
错误。
如果您打算进行实际的 Clojure REPL 工作,您应该使用
shadow-cljs clj-repl
这将为您提供纯 Clojure REPL。
我正在学习 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))
这是为什么?
您可能正在使用 ClojureScript REPL,其中 eval
仅作为需要 additional setup 的自托管构建的一部分。 clojure.core
作为编译器的一部分自动别名为 cljs.core
,这就是为什么您会收到 cljs.core/*eval*
错误。
如果您打算进行实际的 Clojure REPL 工作,您应该使用
shadow-cljs clj-repl
这将为您提供纯 Clojure REPL。