如何为node.js编写以下代码?

时间:2016-12-15 07:11:37

标签: javascript ruby node.js

您好我在程序中获取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做这件事。

1 个答案:

答案 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(){

}