質問

したがって、通常の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に感謝します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top