我已经构建了Node.js
程序,该程序基本上通过prompt
使用readline模块进行多行输入。这是相同
let lineReader = readline.createInterface({
input: process.stdin,
output: process.stdout
});
lineReader.prompt();
let i = 0;
let communityCards = [];
let evalCards = [];
lineReader.on('line', line => {
console.log('line', line);
});
lineReader.on('close', ()=>resolve(evalCards));
这是我的多行输入
KS AD 3H 7C TD
John 9H 7S
Sam AC KH
Becky JD QC
它运行正常,因为它在运行node index.js
时从提示输入,并逐行输出到stdout
,但我希望通过管道stdin
将此多行输入传递给我的程序点击stdout
后输出到Enter
。如下所示:
$ multiline-input | node index.js
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
这似乎是一个与shell有关的问题。
如果你想要多线输入,它应该可以工作。这样的事情:
$ echo 'KS AD 3H 7C TD
John 9H 7S
Sam AC KH
Becky JD QC' | node index.js
修改强>
正如我现在理解您的问题,您想要将每行读取添加到数组evalCards
,所以只需使用以下处理程序:
lineReader.on('line', line => {
evalCards.push(line)
})