티스토리 뷰
프로그래머스 Lv. 0의 문제를 풀다 처음 접하는 모듈이 있어서 정리해보려한다. readline 모듈은 콘솔을 통해 입력값을 받고 한 줄씩 처리할 수 있게 해주는 모듈이다. 아래의 코드는 문제에 답으로 제출한 코드인데 이를 들여다 보며 모듈이 어떤 방식으로 동작하는지 알아보자
const readline = require('readline'); // 모듈 import
const rl = readline.createInterface({ // interface 객체 생성
input: process.stdin,
output: process.stdout
});
let N; // 입/출력에서 사용될 변수 선언
rl.on('line', function (line) { // 입/출력 처리 (입력부)
N = Number(line);
rl.close();
}).on('close', function () { // 입/출력 처리 (출력부)
for (let i = 1; i<=N; i++) {
console.log('*'.repeat(i))
}
});
모듈 불러오기
const readline = require('readline');
interface 객체 생성
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
인터페이스 객체 rl을 통한 입출력 처리
rl.on('line', function (line) {
rl.close();
});
콘솔으로 부터 입력은 첫번째 인자를 'line'으로 전달함으로서 이루어진다. 이 이벤트는 한줄씩 입력을 받으며 입력받은 한 줄의 데이터는 line변수에 저장되어 callback 함수에 전달된다. rl.close()를 명시하지 않을 경우 무한하게 입력이 이루어지므로 주의해야한다.(의도적으로 명시하지 않음으로서 여러줄을 입력받는 것도 가능하다.)
rl.on('close', () => {
process.exit();
})
출력은 첫번째 인자를 'close'로 전달하여 실행된다. 앞서 입력의 경우에서 close() 함수가 호출되었을 때 실행된다. 보통 맨 위의 예시 코드에서와 같이 입력의 callback에서 데이터를 처리하고, 출력에서 의도한 대로 결과물을 출력한다.
'JavaScript' 카테고리의 다른 글
[JS] 프로그래머스 덧셈식 출력하기 (0) | 2024.04.24 |
---|---|
[JS] 프로그래머스 대소문자 바꿔서 출력하기 (0) | 2024.04.24 |
[JS] 프로그래머스 문자열 반복하기 (0) | 2024.04.23 |
[JS] 프로그래머스 a와 b 출력하기 (0) | 2024.04.23 |
[JS] 프로그래머스 문자열 출력하기 (0) | 2024.04.23 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 렌더링 과정
- 브라우저의 기본 구조
- SQLD
- Replace
- startsWith()
- replaceAll
- 프로그래머스 세로 읽기
- 중첩스코프
- 스코프
- nodelist
- Object.clone()
- 블록스코프
- 프로그래머스
- 프로그래머스 qr code
- replace와 replaceAll의 차이점
- 호이스팅
- 엑셀 파일 추출
- StringBuilder
- SQL 개발자
- n 번째 원소부터
- 문자열 반복하기
- Java
- 신입개발자 면접 준비
- rep;ㅁce
- 콜백 큐
- useeffet
- 대소문자 변환
- 마진과 패딩의 차이점
- 배열만들기1
- 배열 만들기3
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함