0

IPython へのコマンド ライン インターフェイスを備えた Web アプリを作成しており、オートコンプリートを追加したいと考えています。これまでのところ、stdout/stdin の読み取りと書き込みは正常に機能しており、コマンドを送信できますが、オートコンプリート機能の実装に行き詰まっています。\t標準入力経由で送信しようとしましたが、それはうまくいきません。これを行う方法はありますか?

これが私の基本的なサーバーロジックです。

var python = spawn('ipython', ['-i']);
s.on('run', function (input) {
  python.stdin.write(input.command + '\n');
});
python.stdout.on('data', function (data) {
  var output = '' + data;
  s.emit('response', {
    output: output
  });
});
python.stderr.on('data', function (data) {
  var output = '' + data;
  s.emit('response', {
    error: output
  });
});
4

1 に答える 1

0

大文字の I がなぜそんなに嫌いなのですか? これは IPython (Apple によってビルドされていないため) ですが、問題ありません。

そうは言っても、同じ主題に関する他のSOの質問を読まないのに、車輪を再発明するという難しい道を進むのはなぜですか?

サーバー側に js があるため、サーバー側で ZMQ を要求し、メッセージ仕様に準拠できるという点で、あなたのものは少し異なると思います(そして、 IHaskell を書いた人からのメッセージング プロトコルに関する素敵なブログ投稿)。これにより、標準出力の解析よりも脆弱性が大幅に軽減され、より多くの機能 (画像の送信) が得られます。また、他の言語も無料で利用できます。また、websocket へのブリッジを作成すれば、再利用できると思いますkernel.js

ばかげた質問ですが、IPython ノートブックを見たことがありますか? そこから再利用できるものがたくさんあるように見えます。

于 2013-10-27T09:56:07.953 に答える