2016-12-15 62 views
0

嗨我有问题获取标准输入程序。我有以下ruby代码片段,我想将其转换为在node.js上运行的javascript。如何为node.js编写以下代码?

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时间块中,我在同一行读取了两个整数 ,n & m,然后在下一行读取一个整数数组。我做了这个t次。所以对于下面的输入。

2 
4 1 
1 
6 2 
2 3 

2将在第一个$ stdin.readline中读入t。然后4将读入n,1将读入第二个$ stdin.readline中的n。然后[1]将读入第三个$ stdin.readline中的m_arr。我们将再次重复最后两个$ stdin.readline。所以在第二次,6将被读入m,2将被读入n,然后[2,3]被读入m_arr。有人能够以最好的方式告诉如何在javascript中为node.js执行此操作。

回答

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

}