>웹 프론트엔드 >JS 튜토리얼 >Node.js는 readline 모듈을 사용하여 입력 및 출력을 구현합니다.

Node.js는 readline 모듈을 사용하여 입력 및 출력을 구현합니다.

高洛峰
高洛峰원래의
2016-12-26 09:51:501202검색

Readline이란

Readline은 표준 입출력을 구현하는 Node.js의 패키지 모듈입니다. 이 모듈을 통해 데이터 스트림을 한 줄씩 읽을 수 있습니다. 모듈은 require("readline")을 사용하여 참조할 수 있습니다.

Readline 사용 방법

사용 측면에서 Readline을 배우려면 세 부분을 배워야 합니다.

Readline 인스턴스 만들기

내부 인터페이스 방법 알아보기

Readline 이벤트 모니터링 및 처리 방법 알아보기

예제를 통해 이 세 부분을 배워보겠습니다.

예제 1: 제 이름은 Xiao Ming입니다

코드는 다음과 같습니다.

/**
 * Created by Administrator on 2015/9/10.
 */
// 引入readline模块
var readline = require('readline');
 
//创建readline接口实例
var rl = readline.createInterface({ 
 input:process.stdin,
 output:process.stdout
});
 
// question方法
rl.question("你叫什么?",function(answer){ 
 console.log("名字是:"+answer);
 // 不加close,则不会结束
 rl.close();
});
 
// close事件监听
rl.on("close", function(){ 
 // 结束程序
 process.exit(0);
});

위의 예에서는 우리가 배워야 할 세 부분을 사용합니다. 먼저 createInterface를 사용하여 인터페이스 인스턴스를 생성한 다음 질문 메소드를 사용하여 이름을 묻고 마지막으로 readline의 닫기 이벤트를 수신합니다. 메소드 이름과 이벤트 모니터링 이름이 모두 상대적으로 직관적이고 해당 기능을 사용할 수 있기 때문입니다. 세 가지 사항만 알아두시면 됩니다.

createInterface에서는 표준 입력 및 출력을 데이터의 입력 및 출력 스트림으로 전달해야 합니다.

질문 메소드의 콜백 함수에서는 사용자의 입력을 받아 처리하는 동시에 닫기 작업을 수행하여 프로그램을 종료합니다. 그렇지 않으면 프로그램이 종료되지 않습니다

close 이벤트 모니터링에서 readline 모듈은 사용자 입력을 얻기 시작하는 한 끝나지 않기 때문에 프로그램을 종료하기 위해 process.exit(0)을 실행했습니다. 이 직접 메서드를 사용하여 종료해야 합니다. 프로그램

예 2: 입력 및 출력

/**
 * Created by Administrator on 2015/9/10.
 */
// 引入readline模块
var readline = require('readline');
 
var rl = readline.createInterface({ 
 input: process.stdin,
 output: process.stdout
});
 
rl.on('line', function(line){ 
 switch(line.trim()) {
  case 'copy':
   console.log("复制");
   break;
  case 'hello':
   rl.write("Write");
   console.log('world!');
   break;
  case 'close':
   rl.close();
   break;
  default:
   console.log('没有找到命令!');
   break;
 }
});
rl.on('close', function() { 
 console.log('bye bye');
 process.exit(0);
});

'line' 이벤트, 이 이벤트는 사용자가 줄 입력을 마치고 Enter 키를 누른 후에 트리거됩니다. 콜백 함수를 통해 사용자가 다시 입력한 데이터를 이 방식으로 처리할 수 있습니다. 데이터

예 3: 명령줄 형식의 입력 및 출력

var readline = require('readline'); 
var rl = readline.createInterface(process.stdin, process.stdout);
 
rl.setPrompt('Test> '); 
rl.prompt();
 
rl.on('line', function(line) { 
 switch(line.trim()) {
  case 'copy':
   console.log("复制");
   break;
  case 'hello':
   console.log('world!');
   break;
  case 'close':
   rl.close();
   break;
  default:
   console.log('没有找到命令!');
   break;
 }
 rl.prompt();
});
 
rl.on('close', function() { 
 console.log('bye bye!');
 process.exit(0);
});

실행 중인 스크린샷은 다음과 같습니다.

Node.js는 readline 모듈을 사용하여 입력 및 출력을 구현합니다.

이 예에 나타납니다. 두 가지 새로운 방법

setPromat(promat) 방법은 창 명령과 마찬가지로 각 줄에 대한 프롬프트를 설정하는 것입니다. line's >. 여기서 설정한 것은 Test>

promat() 는 Readline의 핵심 기능인 행위 단위로 데이터를 읽어오는 방식을 구현하고 있기 때문에 가장 중요한 메소드라고 할 수 있습니다. 사용자가 데이터를 입력하기를 기다리고 있습니다

여기서는 'line' 이벤트를 다시 모니터링합니다. promat 메소드는 데이터를 한 번만 읽으므로 이 메소드에서 promat 메소드를 다시 호출합니다. 사용자 입력을 계속 읽을 수 있도록 하여 명령줄 효과를 얻습니다.

부록

다음은 Readline 사용을 설명하기 위한 상대적으로 간단한 세 가지 예입니다. Readline의 사용법과 더 많은 메소드 및 이벤트에 대해 알고 싶다면 공식 API

요약

위 내용이 이 글의 전체 내용이기를 바랍니다. 이 글의 내용은 모든 사람의 공부나 업무에 도움이 될 수 있습니다. 궁금한 점이 있으면 메시지를 남겨서 소통하세요.

readline 모듈을 사용하여 입출력을 구현하는 Node.js 관련 기사를 더 보려면 PHP 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.