调用clojure.main/repl时如何更改为命名空间
我正在使用调用clojure.main/repl时如何更改为命名空间,clojure,read-eval-print-loop,Clojure,Read Eval Print Loop,我正在使用clojure.main/repl(请参阅),希望在用户键入任何内容之前自动切换到ns。但是怎么做呢 :init似乎无法解决我的问题,或者如何使用它 请注意: 我知道 我在org.dipert.swingrepl中使用repl,所以我对lein的:init ns选项不感兴趣 我不知道org.dipert.swingrepl或者为什么有人想使用它,但它非常简单: (clojure.main/repl :init #(in-ns 'my-favorite-namespace)) 实际
clojure.main/repl
(请参阅),希望在用户键入任何内容之前自动切换到ns。但是怎么做呢
:init
似乎无法解决我的问题,或者如何使用它
请注意:
- 我知道
- 我在
中使用repl,所以我对lein的org.dipert.swingrepl
选项不感兴趣:init ns
org.dipert.swingrepl
或者为什么有人想使用它,但它非常简单:
(clojure.main/repl :init #(in-ns 'my-favorite-namespace))
实际上,它可以与
clojure.main/repl
一起使用,但不能与swingrepl
一起使用。我猜,swingrepl
有一个bug。swingrepl之所以有用,是因为我的用户只需双击jar即可访问REPL。或者你现在知道如何在简单的双击(请不要使用cmd中的命令)后触发Windows上的cmd
启动以托管clojure.main/repl
?我相信Fogus是在玩弄nrepl cljs体系结构的想法,如果您可以启动nrepl服务器,并将*in*
绑定到环处理程序,将*out*
绑定到环响应,那么您可以从浏览器repl web应用程序获得即时反馈。另一个想法是使用java类来启动任意命令,如leinrepl
。或者只使用makeregularwindows链接到Leiningen来执行带有选项的命令。