0

当我从 emacs cider 启动 lein repl :headless 时,我无法调用我的默认命名空间。

我的 project.clj 定义了 :repl 条目:

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

当我从 project.clj 文件中提取苹果酒时,我确实最终进入了 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 ...) 方法加载命名空间,但在文档中找不到关于这种情况的任何信息?

谢谢!

4

1 回答 1

2

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

:repl-options {:init-ns dev.core
               :init (use 'dev.core :reload)}
于 2014-11-23T01:42:41.270 回答