2012-03-26 1 views
1

他のcmdラッパーと同様に、cmdアプリケーションのストリームを傍受する必要があるcmdラッパーを作成しています。これまでのところ私は成功し、ほとんどのアプリは「ping」などのようにうまく機能します。しかし、ClojureやScala REPLを起動すると、最初はeveryhtingsはOKですが、複数行の関数を入力するときやエラーが発生したときに、何かがパイプに詰まっているようなメッセージングは​​止まります。 REPLと私のラッパーの間の通信はすべて停止します。私がラッパーを介して起動するすべてのアプリケーションのstdoutとstderrの両方のストリームを流すので、この状況で何をするのか、私には不明ですが、なぜ出力が傍受されないのでしょうか?ClojureとScala REPLsとのWindows cmdラッパーの通信が不正です

UPDATE:新しい情報がスカラとClojureのREPLs高度なコンソールとの対話処理のためjlineを使用していることがわかるユーザOM-NOM-NOMによって示唆されています。したがって、これはいくつかの新しい疑問を提起します:なぜ標準ストリームとは異なるjlineで作業していますか?通常のストリームと同様にJlineストリームを再ルーティングする方法はありますか?そのようなjlineで作業する最善の方法は何ですか?

答えて

関連する問題