Javascript 如何在process.stdin nodejs上发出事件结束
嗨,我有这个简单的代码部分Javascript 如何在process.stdin nodejs上发出事件结束,javascript,node.js,Javascript,Node.js,嗨,我有这个简单的代码部分 'use strict'; const fs = require('fs'); process.stdin.resume(); process.stdin.setEncoding('utf-8'); let inputString = ''; let currentLine = 0; process.stdin.on('data', inputStdin => { inputString += inputStdin; }); process.s
'use strict';
const fs = require('fs');
process.stdin.resume();
process.stdin.setEncoding('utf-8');
let inputString = '';
let currentLine = 0;
process.stdin.on('data', inputStdin => {
inputString += inputStdin;
});
process.stdin.on('end', _ => {
inputString = inputString.trim().split('\n').map(str => str.trim());
main();
});
function readLine() {
return inputString[currentLine++];
}
/*
* Complete the simpleArraySum function below.
*/
function simpleArraySum(ar) {
console.log(ar);
}
function main() {
const ws = fs.createWriteStream(process.env.OUTPUT_PATH);
const arCount = parseInt(readLine(), 10);
const ar = readLine().split(' ').map(arTemp => parseInt(arTemp, 10));
let result = simpleArraySum(ar);
ws.write(result + "\n");
ws.end();
}
我想在控制台中进行测试,但我不知道如何发送我输入完毕的数据,现在我希望我的程序能够运行。你能告诉我怎么做吗?(CTRL+D不起作用)
我正在输入新的输入,它永远不会结束。。。如何修复它
这就是它在终端中的工作方式(或不工作)
提前谢谢,祝你有愉快的一天 首先,确保正确安装了node js(如果您想从命令提示符访问它,请确保它存储为一个环境变量,您可以在这里找到如何操作:)然后打开命令提示符,指向文件存储的目录,运行
node yourfilename.js
,它应该可以工作。是的,我知道,但问题出在这里。我知道如何在node.js程序上运行。。把我的程序想象成两部分:输入和输出。我的问题是:我不知道如何退出第一部分(输入部分)。你说的“CTRL+D不工作”是什么意思?我刚刚运行了您的代码,Ctrl+D在实际的终端中运行,而不是在IDE内置终端中运行。可能会有问题,因为我已经编辑了我的帖子。。这是在terminalFirst中运行它的结果,请确保正确安装了node js(如果您想从命令提示符访问它,请确保它存储为环境变量,您可以在此处找到如何操作:)然后打开命令提示符,指向文件存储的目录,运行node yourfilename.js
,它应该可以工作。是的,我知道,但问题出在这里。我知道如何在node.js程序上运行。。把我的程序想象成两部分:输入和输出。我的问题是:我不知道如何退出第一部分(输入部分)。你说的“CTRL+D不工作”是什么意思?我刚刚运行了您的代码,Ctrl+D在实际的终端中运行,而不是在IDE内置终端中运行。可能会有问题,因为我已经编辑了我的帖子。。这是在终端中运行它的结果