JavaScript의 readline

Dengo·2022년 4월 11일
0

JavaScript

목록 보기
1/6
post-thumbnail

자바스크립트로 알고리즘을 풀려고 입출력 받는 법부터 배우는 중인데 생각보다 어렵다.
그 방법을 정리해 보려 한다.

우선 filesystem을 이용하는 방식과 readline을 이용하는 방식이 있는데 filesystem은 /dev/stdin 폴더 경로를 찾을 수 없다해서 readline으로 하기로 했다.

코드를 먼저 보면

const readline = require('readline');

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});

let m,n;

var two = 2

rl.on('line', (input) => {
    if (two == 2) {
        m = input;
        two -= 1;
    } else if (two == 1) {
        n = input;
        rl.close();
    }
});

rl.on('close', () => {
    console.log(m,n)
    process.exit();
})

이렇게 간단하게 m,n을 개행을 기준으로 입력받는 코드도 복잡하다.
rl은 입력과 출력을 받을 객체를 준비하는 과정이라 보면 되고

rl.on('line', (input) => {}
는 rl.close()가 실행되기 전까지는 계속해서 무한으로 실행된다고 보면 된다. 그래서 위와 같이 고작 m,n 을 입력 받는것도 저렇게 굳이 해주어야 한다...

rl.on('close', () => {})
이건 rl.close가 된 이후에 실행되는 즉 입력이 끝나고 실행되는 부분이다.
process.exit()을 하면 프로그램을 종료시킬 수 있어서 C++로 치면 메인함수에서 return 하는 개념이라고 보면 된다.

이렇게만 알고있으면 입력 및 출력을 구현할 수 있다.

profile
Software Engineer (전산쟁이)

0개의 댓글