您好我在程序中获取stdin输入时遇到问题。我有以下ruby片段,我想将其翻译为在node.js上运行的javascript。
t = $stdin.readline().to_i
t.times do ||
n,m = $stdin.readline().split().map{|num| num.to_i}
m_arr = $stdin.readline().split().map{|num| num.to_i}
end
我读了t,这是测试用例的数量。在t.times块中,我读了 在同一行上的两个整数,n& m,然后在下一行我读取一个整数数组。我做了t次。所以对于以下输入。
2
4 1
1
6 2
2 3
2将在第一个$ stdin.readline中读入t。然后将4读入n,并且将在第二个$ stdin.readline中将n读入n。然后[1]将在第三个$ stdin.readline中读入m_arr。我们将再次重复最后两个$ stdin.readline。所以在第二次,6将被读入m,2将被读入n,然后[2,3]将被读入m_arr。有人可以用最好的方式告诉你如何在javascript中为node.js做这件事。
答案 0 :(得分:0)
经过一些研究并了解node.js是事件驱动的。我提出了以下解决方案。
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
terminal: false
});
input = [];
rl.on('line',function(line){
input.push(line);
}).on('close',function(){
// process the input data in main
main(input);
process.exit(0);
});
function main(){
}