[Javascript] readline으로 값 입력받기

이썸이·2024년 5월 30일
0

| [참고 블로그]


readline?

  • Readable stream에서 한번에 한 줄씩 데이터를 읽기 위한 인터페이스를 제공하는 모듈
    • 데이터를 읽기 위해 인터페이스를 제공해주는 모듈
    • Javascript에 내장되어 있는 듯 하다

사용 방법

1. readline 모듈 불러오기

const readline = require("readline");

2. readline 인터페이스 생성하기

const rl = readline.createInterface({
	input: process.stdin,
	output: process.stdout,
})
  • process.stdin : standard input에 대한 readable stream
  • process.stdout : standard output에 대한 writable stream
    • stream?
      • 일련의 연속성을 갖는 흐름을 뜻함. 데이터, 파일 등 컴퓨터 프로그램과 환경 사이에 미리 연결된 입출력 통로

3. 입출력 처리하기

rl.on("line", (line) => {
	/* 입력값 처리 코드 */
	rl.close()
})

rl.on("close", () => {
	/* 입력 이후 실행 코드 */ 
	process.exit();
})
  • rl.on 을 이용하여 이벤트와 콜백함수를 전달하게 됨
    • line : 입력 받은 값을 한 줄씩 읽어 문자열 타입으로 전달하는 이벤트
    • close : 더 이상 입력값이 없을 경우에 해당하는 이벤트
  • rl.close() : 인터페이스를 종료하며 무한 입력받기를 방지
  • process.exit() : 프로세스 종료

사용 예시

| 프로그래머스 - 문자열 출력하기

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

let input = [];

rl.on('line', function (line) {
    input = [line];
}).on('close',function(){
    str = input[0];
});

0개의 댓글