백준 사이트에서 알고리즘 문제를 풀 때에도 쓰이는 readline 입력받기!
제대로 알아보지는 못하고 긁어다 쓰기 바빴었지만, 이번 미션을 수행하면서 제대로 알아본 후 사용해야겠다는 생각이 들었다.
Syntax:
백준 사이트에서 알고리즘 문제를 풀 때에도 요긴하게 쓰이는 readline.createInterface()
메소드!
제대로 알아보지는 못하고 긁어다 쓰기 바빴었지만 이번 미션을 수행하면서 조금 더 알아보기로 했다.
readline.createInterface()
메소드는 readline.Interface
인스턴스를 생성한다.
생성된 readline.Interface
인스턴스에서 가장 많이 쓰이는 이벤트는 line
이벤트다.
process.stdin: stdin은 standard input의 abbreviation; stdin에 대한 Readable Stream이다.
process.stdout: stdout은 standard output의 abbreviation; stdout에 대한 Writable Stream이다.
*여기서 stream이란 컴퓨터 프로그램과 그 환경(일반적으로 단말기) 사이에 미리 연결된 입출력 통로를 가리킨다.
readline.Interface
인스턴스(rl
)에서 .on()
메소드로 Interface
가 내장한 이벤트들을 실행한다.
생성된 readline.Interface
인스턴스에서 가장 많이 쓰이는 이벤트는 line
이벤트다.
rl.close()
메소드는 readline.interface
인스턴스와 입력 및 출력 스트림 제어를 종료한다.
rl.close()
메소드가 호출되면 readline.interface
인스턴스에서 'close 이벤트'가 발생된다. (그래도 다른 이벤트(e.g. line 이벤트)가 발생하는 것을 즉각적으로 중지시키지는 않는다.)
line
이벤트는 입력 스트림이 줄 끝 입력 (\ n, \ r 또는 \ r \ n)을 수신 할 때마다 발생되는데, 줄 끝 입력은 보통 사용자가 Enter 또는 Return을 누를 때 발생한다. 콜백 함수는 한 줄의 수신 된 입력내용을 문자열타입의 파라미터로 받으며 호출된다.
공식문서 보러가기
fs모듈로 입력받아오는 방법도 알아보기
readline으로 여러 줄 입력받아오는 방법 알아보기
*본 포스팅은 아래 사이트들을 해석 및 인용하여 작성되었습니다.
학습단계로 잘못된 정보가 있을 수 있습니다. 잘못된 부분에 대해 알려주시면 곧바로 정정하도록 하겠습니다 😊
https://velog.io/@exploit017/%EB%B0%B1%EC%A4%80Node.js-Node.js-%EC%9E%85%EB%A0%A5-%EB%B0%9B%EA%B8%B0
https://wooooooak.github.io/node.js/2018/09/26/Node.js-%EC%9E%85%EB%A0%A5-%EB%B0%9B%EA%B8%B0/
https://nodejs.org/api/readline.html#readline_readline_createinterface_options
https://nodejs.sideeffect.kr/docs/v0.10.25/api/process.html#process_process_stdin
https://nodejs.sideeffect.kr/docs/v0.10.25/api/process.html#process_process_stdout