每当我调用clojure函数通过SLIME或普通REPL使用(read-line)
获取用户控制台输入时,该函数立即返回。我已经使用了jar我的项目并运行它进行测试,但这显然不是快速或可持续的。
通过REPL工作获得控制台交互是否有一些技巧或者不可能?如果没有,有什么好的解决方法吗?
答案 0 :(得分:0)
目前似乎没有任何方法可以通过swank-clojure读取控制台输入;调用(read-line)
只是在1.4.0-SNAPSHOT中返回nil并在早期版本中挂起。安装1.4.0作为用户级leiningen插件似乎是目前最好的选择。至少REPL会在某个时刻返回你的控制。
答案 1 :(得分:0)
现在可以使用swank-clojure 1.4.0-SNAPSHOT,如果你在swank.core / with-read-line-support中调用read-line,就像这样
(with-read-line-support (println "a line from Emacs:" (read-line))
https://github.com/technomancy/swank-clojure/commit/f4a1eebc4d34f2ff473c4e5350f889ec356f5168