在说明lein repl时不评估默认命名空间?

时间:2014-11-22 22:41:15

标签: clojure leiningen cider

当我启动lein repl时,我很难调用我的默认命名空间:来自emacs cider的无头。

我的project.clj有:repl entry defined:

  :repl-options { :init-ns dev.core }

当我从project.clj文件中输入cider-jack-in时,我确实最终在dev.core ns:

  dev.core> *ns*
  #<Namespace dev.core>

然而,当我看实习生时,我得到:

  dev.core> (ns-interns *ns*)
  {}

当我重新加载命名空间时:

  dev.core> (use 'dev.core :reload)
  nil
  dev.core> (ns-interns *ns*)
  {start-cljs-repl #'dev.core/start-cljs-repl, stop-server #'dev.core/stop-server}

我的命名空间被加载了。 似乎内部leiningen使用(require ...)方法来加载命名空间,但在文档中找不到关于这种情况的任何信息?

谢谢!

1 个答案:

答案 0 :(得分:2)

设置初始命名空间后,使用:init加载符号。

:repl-options {:init-ns dev.core
               :init (use 'dev.core :reload)}