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:
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!