我对node.js非常新,我正在尝试完成一个简单的程序,它可以对数字进行平方。 This is what I have so far
process.stdin.resume();
process.stdin.setEncoding('utf8');
var stdin = '';
process.stdin.on('data', function (chunk) {
stdin += chunk;
}).on('end', function() {
var lines = stdin.split('\n');
for(var i=0; i<lines.length; i++) {
process.stdout.write("" +lines[i]*lines[i]);
}
});`
问题在于,对于我的输出,我最终总是得到零。例如,如果我输入5,生病得到250而不是25.如果我输入25,生病得到6250而不是625.我不知道什么是错的。
答案 0 :(得分:0)
stdin
都会添加换行符,例如:
5\n10\n
现在,当你这样做时:
var lines = stdin.split('\n');
你会得到:
["5", "10", ""]
所以最后是一条空行。现在,如果你支持:
process.stdout.write("" * "");
它会打印0
。
现在解决它从行中删除最后一个元素:
var lines = stdin.split('\n');
lines.pop();
您应该考虑在每次输出后打印换行符:
for(const line of lines)
process.stdout.write(line ** 2 + "\n");