2016-12-15 66 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(){ 

}