clojure lein (read-line) stdin の問題
質問
したがって、通常のclojure replは正常に機能します。 (read-line)
入力を収集し、それをエコーします。使用する lein repl
ただし、入力文字をエコーすることはなく、stdin 読み取りコマンドから戻ることもできません。
きっとリバインドと関係があるんだろうね で, 、しかし、回避策/修正があるかどうか疑問に思っていませんか?
ありがとう。
解決
これは、アリのバグによるものです。それは、それが使用されているサブプロセスからstdinストリームを使用することを防ぎます。しかし、Lein ReplがソケットReplサーバーを起動するため、Telnetトリックは機能するはずです。ここではうまくいきます。
他のヒント
Telnetを介してREPLに接続します。
$ lein repl
REPL started; server listening on localhost:63849.
user=>
[1]+ Stopped lein repl
$ telnet localhost 63849
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
user=> (read-line)
hello
"hello"
user=>
これは私にとって機能します。NSSWANK.CORE[Swank-Clojure 1.4+以来、私は信じているので] ns swank.coreにあるマクロで読み取りラインコールを包みます。
(use 'swank.core)
(with-read-line-support
(println "a line from Emacs:" (read-line)))
Tavis Juddに感謝します。
所属していません StackOverflow