Heim  >  Artikel  >  Web-Frontend  >  Node.js verwendet das Readline-Modul, um Eingabe und Ausgabe zu implementieren

Node.js verwendet das Readline-Modul, um Eingabe und Ausgabe zu implementieren

高洛峰
高洛峰Original
2016-12-26 09:51:501136Durchsuche

Was ist Readline?

Readline ist ein gepacktes Modul in Node.js, das die Standardeingabe und -ausgabe implementiert. Über dieses Modul können wir den Datenstrom Zeile für Zeile lesen. Module können mit require("readline") referenziert werden.

Wie man Readline verwendet

Aus der Perspektive der Verwendung müssen wir zum Erlernen von Readline seine drei Teile lernen:

Eine Readline-Instanz erstellen

Lernen Sie die darin enthaltenen Schnittstellenmethoden

Lernen Sie, Readline-Ereignisse zu überwachen und zu verarbeiten

Lassen Sie uns diese drei Teile anhand von Beispielen lernen.

Beispiel 1: Mein Name ist Xiao Ming

Der Code lautet wie folgt:

/**
 * 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);
});

Das obige Beispiel verwendet die drei Teile, die wir lernen müssen. Erstellen Sie zunächst mit createInterface eine Schnittstelleninstanz, fragen Sie dann mit der Fragemethode nach dem Namen und hören Sie schließlich auf das Close-Ereignis von readline, da sowohl der Methodenname als auch der Name der Ereignisüberwachung relativ intuitiv sind und ihre Funktionen dies können Ich werde auch auf einen Blick verstehen. Drei Punkte müssen beachtet werden:

In createInterface müssen wir die Standardeingabe und -ausgabe als Eingabe- und Ausgabedatenstrom übergeben

In der Rückruffunktion der Fragemethode können wir die Eingaben des Benutzers abrufen und verarbeiten. Gleichzeitig führen wir einen Schließvorgang durch, um das Programm zu beenden, andernfalls wird das Programm nicht beendet

Bei der Überwachung des Schließereignisses haben wir den Vorgang „process.exit(0)“ ausgeführt, um das Programm zu beenden, da das Readline-Modul nicht beendet wird, solange es beginnt, Benutzereingaben zu erhalten. Zum Beenden muss diese direkte Methode verwendet werden Das Programm

Beispiel 2: Eingabe und Ausgabe

/**
 * 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'-Ereignis, dieses Ereignis wird ausgelöst, nachdem der Benutzer mit der Eingabe einer Zeile fertig ist und die Eingabetaste drückt Daten, die der Benutzer über die Rückruffunktion eingegeben hat, können in dieser Methode verarbeitet werden. Daten

Beispiel 3: Befehlszeilenartige Ein- und Ausgabe

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);
});

Der laufende Screenshot ist wie folgt:

Node.js verwendet das Readline-Modul, um Eingabe und Ausgabe zu implementieren

Erschien in diesem Beispiel Die beiden neuen Methoden

method setPromat(promat) dienen dazu, für jede Zeile eine Eingabeaufforderung festzulegen, genau wie > in der Fensterbefehlszeile. Was wir hier festlegen, ist Test>

promat() kann als die wichtigste Methode angesehen werden, da sie die Kernfunktion von Readline verkörpert, nämlich das Lesen von Daten in Verhaltenseinheiten Die Premat-Methode wartet darauf, dass der Benutzer Daten eingibt.

Hier wird das Ereignis „Zeile“ erneut überwacht, da die Promat-Methode die Daten nur einmal liest und daher die Promat-Methode in diesem Fall erneut aufgerufen wird Methode, damit die Benutzereingaben weiterhin gelesen werden können und so ein Befehlszeileneffekt erzielt wird

Anhang

Hier sind nur drei relativ einfache Beispiele, um die Verwendung von zu veranschaulichen Readline. Wenn Sie mehr über die Verwendung von Readline und weitere Methoden und Ereignisse erfahren möchten, können Sie zur offiziellen API

Zusammenfassung

gehen. Das Obige ist der gesamte Inhalt dieses Artikels Ich hoffe, der Inhalt dieses Artikels kann jedem beim Lernen oder bei der Arbeit helfen. Wenn Sie Fragen haben, können Sie Nachrichten hinterlassen, um zu kommunizieren.

Weitere Artikel zu Node.js, die das Readline-Modul zur Implementierung von Eingabe und Ausgabe verwenden, finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn