09、readline模块

来源:互联网 发布:数据库的应用 编辑:程序博客网 时间:2024/06/13 23:35

readline模块(多用于开发一些cmd工具,做一个简单的包装);


1、案例1:

const readline = require('readline');const rl = readline.createInterface({    input: process.stdin,    output: process.stdout});//设置提示语句rl.setPrompt("请输入>");//等待输入rl.prompt();//吹里line事件,当用户输入一些内容,敲回车键的时候就触发这个事件rl.on("line",function(cmd){    console.log("你刚才输入的内容是: " + cmd);    //在此等待用户守输入    rl.prompt();});
运行结果:




2、案例2:

const readline = require('readline');const cmd = readline.createInterface(process.stdin, process.stdout);function showMenu() {    console.log('?.菜单');    console.log('1.你好');    console.log('2.你真');    console.log('0.退出');}function show1() {    const list = ['漂亮', '勇敢', '高大', '威猛', '么么哒', '帅', '拉风', '聪明'];    var i = Math.floor(Math.random() * list.length);    console.log('你好' + list[i] + '!');}function show2() {    const list = ['洒', '搞', '二', '搞笑', '臭屁', '无敌', '能吹', '无语'];    var i = Math.floor(Math.random() * list.length);    console.log('你真' + list[i] + '!');}showMenu();cmd.setPrompt('> ');cmd.prompt(true);cmd.on('line', function (line) {    switch (line.trim()) {        case '?':            showMenu();            break;        case '0':            cmd.close();            return;        case '1':            show1();            break;        case '2':            show2();            break;        case 'hello':            console.log('world!');            break;        default:            console.log('我不认识你 `' + line.trim() + '`');            break;    }    cmd.prompt();}).on('close', function () {    console.log('Bye!');    process.exit(0);});
运行结果:



官方手册:https://nodejs.org/dist/latest-v6.x/docs/api/readline.html

0 0
原创粉丝点击