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