[node.js]バックグラウンドnodejs出力

12429 ワード

通常、JSはプロンプトとして入力しますが、バックグラウンドアルゴリズムではランタイムエラーが発生します.Node.jsの2つのモジュールの使用方法を見てみましょう.
1.readlineモジュールの使用
ソースコード1(1行入力)
const readline = require('readline');
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});
rl.on('line', function(line) {
  console.log(line);
  rl.close();
}).on("close", function() {
  process.exit();
});
デフォルトでは、パラメータ行に割り当てられるのは入力値であり、文字列として指定されます.
コンソールもlog(line);入力された値が出力されます.
ソース2(複数行入力)
const readline = require('readline');
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});
let input = [];
rl.on('line', function (line) {
  input.push(line)
})
  .on('close', function () {
  console.log(input);
  process.exit();
});
2.fsモジュールの使用
第2の方法はFSモジュールを使用することである.Back Junにおいても、リード行タイムアウト用のサンプルコードである.私は通常FSモジュールを使用します.
ソースコード1(1行入力)
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split(' ');
let num = Number(input);
for (let i = 1; i <= num; i++) {
  console.log(i);
}
ソース2(複数行入力)
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
let count = input[0];
let numbers = [];
for (let i = 1; i < input.length; i++) {
  if (input[i] !== '') {
    numbers.push(input[i].split(' '));
  }
}
for (let i = 0; i < numbers.length; i++){
  let num1 = Number(numbers[i][0]);
  let num2 = Number(numbers[i][1]);
  console.log(num1 + num2);
}
Comments
以上の方法でもタイムアウトで問題が解決できない場合がありますので、参考にしてください.
後述する例のソースコードは、上記のソースコードを含むすべてのソースコードをアップロードします.
Node.jsでアルゴリズムの問題を解くのは面倒です.