入力を解析してコンパイルする node.js でインタラクティブなコンソール インターフェイスを開発しています。この目的のために、readline.question を使用しています。
require('readline').question('> ', processCommandFunction)
これで、プログラムは、システム シェルから stdin にパイプされた入力を読み取ることもできるようになります。つまり、次のようになります。
$ myprog < myfile.txt
入力を解析しますが、readline.question では行ごとに解析します。これにより、別々の行にまたがる一部の入力コードが壊れます。
プログラムの動作を変更して、対話的に使用する場合は (現在のように) 1 行ずつ処理するようにしますが、ファイルをパイプする場合は、ファイル全体を 1 つのチャンクで処理する必要があります。したがって、改行の後にさらにデータが来るかどうかを何らかの方法で確認する必要があります。誰かが私を正しい方向に向けることができますか?