Node.js Readline 모듈을 사용하여 연속 입력을 읽는 방법은 무엇입니까?

Node Js Readline Modyul Eul Sayonghayeo Yeonsog Iblyeog Eul Ilgneun Bangbeob Eun Mueos Ibnikka



판독선 ” Node.js 모듈은 최종 사용자로부터 두 개 이상의 연속 입력을 가져와야 하는 시나리오에 사용하기에 이상적입니다. 이 모듈은 수신된 데이터를 건너뛰지 않고 입력 스트림을 한 줄씩 읽는 데 도움이 되는 표준 출력과 입력을 래핑합니다. '의 도착과 함께 판독선 ” 모듈을 사용하면 실시간으로 데이터를 검색하는 절차가 훨씬 쉽고 빨라집니다.

이 글에서는 nodejs readline 모듈을 사용하여 연속 입력을 읽는 절차를 설명합니다.

Node.js Readline 모듈을 사용하여 연속 입력을 읽는 방법은 무엇입니까?

연속 입력은 여러 질문에 대한 답변을 순차적으로 동시에 받아 저장하는 입력입니다. 이러한 연속 문의는 일부 강좌 수강 시나 인증 시에 주로 문의됩니다. Node.js readline 모듈을 사용하여 연속 입력을 읽는 구현에 대한 몇 가지 예가 아래에 설명되어 있습니다.







예제 1: Readline 모듈과 배열을 사용하여 연속 입력 읽기

이 예에서는 '를 사용하여 연속적인 입력을 취하고 읽습니다. 판독선 ” 모듈. 입력은 콘솔에 표시되는 배열에 저장됩니다.



const 판독선 = 필요하다 ( '읽기선' ) ;

const readline인터페이스 = readline. 생성인터페이스 ( {

입력 : 프로세스. 표준입력 ,

산출 : 프로세스. 표준 출력

} )

const 요청0 = '5월! 내가 네 별명을 알아?' ;

const 요청1 = '당신의 취미는 무엇입니까' ;

const 요청2 = '당신은 무엇을 듣는 것을 좋아합니까' ;

const 요청3 = '5월! 네가 가장 좋아하는 요리를 알아?' ;

const 요청4 = '어디 살아요?' ;

const 요청5 = '당신이 가장 좋아하는 색은 무엇입니까' ;

const 요청6 = '당신의 가장 친한 친구는 누구입니까' ;

const reqArr = [ req0, req1, req2, req3, req4, req5, req6 ] ;

res를 보자 = '' ;

const 요청 데이터 = 엑스 => {

만약에 ( 엑스 < reqArr. 길이 ) {

readlineInterface. 질문 ( reqArr [ 엑스 ] , ( 요청응답 ) => {

입술 += ' \N ' + 요청응답 ;

요청 데이터 ( 엑스 + 1 ) ;

} ) ;

} 또 다른 {

콘솔. 통나무 ( `감사합니다 ~을 위한 나와 공유 ! $ { 입술 } ` ) ;

readlineInterface. 닫다 ( ) ;

}

} ;

요청 데이터 ( 0 ) ;

위의 코드 조각에 사용된 코드에 대한 설명은 다음과 같습니다.

  • '를 가져오는 것부터 시작하세요. 판독선 ' 모듈을 만들고 그 객체를 '라는 변수에 저장합니다. 판독선 '.
  • 다음으로 '라는 이름의 인터페이스를 만듭니다. readline인터페이스 '에 대한' 판독선 '를 사용하여 표준 입력 및 출력 프로세스를 래핑하는 개체입니다. 생성인터페이스() ' 방법. 또한 '를 사용하여 모든 요청과 응답을 단일 입력 읽기 및 쓰기 가능 스트림과 연결합니다. 프로세스 ' 재산.
  • 그런 다음 7개의 ' const ” 연속적으로 질문해야 하는 일부 요청이나 질문을 저장하려면 변수를 입력하세요. 이 상수를 '라는 단일 배열에 저장합니다. reqArr '.
  • 새로운 빈 변수 '를 생성합니다. 입술 ”, “라는 이름의 화살표 함수를 정의합니다. 요청 데이터 ”를 입력하고 “의 단일 매개변수를 전달합니다. 엑스 '.
  • 이 기능 내에서 “ 만약에 ” 제공된 매개변수의 값이 “의 길이보다 작은지 확인하는 문 reqArr ' 아니면 아니죠.
  • 사실의 경우, ' 질문() ” 메소드가 인터페이스에 적용되어 배열의 각 요청을 출력에 순차적으로 표시합니다. 그런 다음 제공된 해당 값을 인수로 전달합니다.
  • 이러한 인수는 이미 생성된 배열 '에 저장됩니다. 입술 '.
  • 모든 요청이 콘솔에 순차적으로 표시되면 ' 만약에 ” 진술이 거짓이 되고 “ 또 다른 ' 부분, ' 입술 ” 배열이 콘솔 위에 표시됩니다.
  • 마지막으로, readline 인터페이스도 “를 호출하여 닫힙니다. 닫다() ' 방법. 또한 “ 요청데이터() ” 함수를 사용하고 “의 초기값을 전달합니다. 0 ”를 선택하면 맨 위 또는 배열에서 사용 가능한 첫 번째 질문부터 질문이 시작됩니다.

이제 '를 입력하여 포함된 파일을 실행합니다. 마디 ”뒤에 있는 키워드 파일 이름 ' 터미널에서 :

노드 쓰기

출력은 프로그램이 연속 입력을 읽고 모든 입력을 한 번에 반환했음을 보여줍니다.

예제 2: Readline 모듈과 재귀 함수를 사용하여 연속 입력 읽기

이 방법에서는 '재귀적 접근 방식'이 사용됩니다. 판독선 ” 입력 스트림에서 사용자의 연속 입력을 읽는 Node.js 모듈:

const 읽다 = 필요하다 ( '읽기선' ) ;
const readline인터페이스 = 읽다. 생성인터페이스 ( {
입력 : 프로세스. 표준입력 ,
산출 : 프로세스. 표준 출력
} )
reqArr이었습니다 = [ ]
함수 reqData ( 엑스 ) {
만약에 ( 엑스 > )
{
var 평균 = 0
~을 위한 ( reqArr의 j )
{
평균 += 숫자 ( reqArr [ 제이 ] )
}
콘솔. 통나무 ( 평균 / ) ;
}
또 다른
{
readlineInterface. 질문 ( '들어가다 ' + 엑스 + ' 3개 중 숫자:' , 기능 ( 요청응답 ) {
reqArr. 푸시 ( 요청응답 )
요청 데이터 ( 엑스 + 1 )
} )
}
}

요청 데이터 ( 1 ) ;

위 코드에 대한 설명은 아래에 글머리 기호 형식으로 설명되어 있습니다.

  • 먼저 '를 가져옵니다. 판독선 ” 새로 생성된 “ write.js ” 파일을 만들고 메소드 객체를 “ 읽다 ” 변수입니다. '를 저장하는 인터페이스를 만듭니다. 판독선 ” 인터페이스는 “를 통해 생성됩니다. 생성인터페이스() ' 방법.
  • 이제 '라는 이름의 빈 배열을 만듭니다. reqArr '라고 정의하고 ' 요청데이터() ”라는 이름의 단일 매개변수도 허용하는 ” 함수 엑스 '.
  • 이 함수는 먼저 제공된 값이 '보다 큰지 확인합니다. ' 아니면 아니죠. true의 경우 ' 엑스 ” 변수는 배열에 저장되고 “라는 단일 변수에 추가됩니다. 평균 '.
  • 그 후, “ 평균 ” 변수는 “로 나누어집니다. ” 최대 허용 개수의 길이가 “ 이므로 평균을 구합니다. ”라고 입력하고 결과가 콘솔에 표시됩니다.
  • else 부분에서는 “ 질문() ”메소드가 인터페이스와 함께 첨부됩니다.” readlineInerface '. 이 메서드는 콘솔을 통해 메시지를 표시하고 익명 함수를 정의합니다.
  • 이 함수는 사용자 입력 데이터를 받아들이고 해당 데이터를 배열 ' reqArr '. 또한 “ 엑스 ” 매번 업데이트된 값을 “ 요청데이터() ' 기능. 이렇게 하면 사용자는 '부터 시작하여 3보다 작은 값만 입력하게 됩니다. 0 '. 마지막으로 '를 호출합니다. 요청데이터() ” 함수를 사용하여 실행 프로세스를 시작합니다.

이제 “ write.js ” 파일에 “를 입력하여 마디 ”뒤에 있는 키워드 파일 이름 ' 터미널에서 :

노드 쓰기

출력은 연속적인 입력이 읽혀지고 그 평균이 재귀 접근 방식과 readline 모듈의 조합을 사용하여 콘솔에 표시된다는 것을 확인합니다.

이 가이드에서는 Node.js readline 모듈을 사용하여 연속 입력을 읽는 절차를 설명합니다.

결론

Node.js readline 모듈을 사용하여 연속 입력을 읽으려면 먼저 이 모듈을 작업 파일로 가져오고 '를 사용하여 인터페이스를 만듭니다. 생성인터페이스() ' 방법. 이 인터페이스는 “ 질문() ' 방법. 사용자에게 연속적으로 요청을 보내고 각 요청의 해당 응답을 콜백 함수에 전달하여 요구 사항에 따라 일부 작업을 적용합니다. readline 모듈을 사용하여 연속 입력을 읽는 과정을 배웠습니다.