`
weiqingfei
  • 浏览: 317291 次
  • 性别: Icon_minigender_1
  • 来自: 黑洞
社区版块
存档分类
最新评论

库readline的简单使用

阅读更多
var readline = require('readline');
var prefix = '> ';
var rl = readline.createInterface({
        input: process.stdin,
        output: process.stdout,
        completer: function(line) {//按Tab键,自动提示
            var completions = 'hello exit bye quit'.split(' ')
            var hits = completions.filter(function(c) {
                if (c.indexOf(line) == 0) {
                    return c;
                }
            });
            return [hits && hits.length ? hits : completions, line];
        },
        terminal: true
    });
var name;

rl.on('line', function(line) {//响应输入
    switch(line.trim()) {
        case 'hello':
        console.log('hello ' + name);
            break;
        case 'exit':
        case 'quit':
        case 'bye':
            rl.close();
            break;
        default:
            console.log('Say what? I might have heard `' + line.trim() + '`');
            break;
    }
    rl.prompt(true);
}).on('SIGINT', function() {//响应Ctrl + C
    rl.question('Sure to exit ? ', function(answer) {
        if (answer.match(/^y(es)?$/i)) {
            rl.close();
        }else {
            rl.prompt(true);
        }
    });
}).on('close', function() {//响应退出
    console.log('Bye! Have a good day!');
    process.exit(0);
});

rl.setPrompt(prefix);
rl.prompt(true);

rl.question('What is your name?', function(answer) {
    console.log('welcome you, ' + answer);
    name = answer;
    rl.prompt(true);
});

 

分享到:
评论

相关推荐

    前端开源库-readline

    "前端开源库-readline"就是这样一个工具,它被称为“readline”,是一个简单的流式读线模块。这个库主要关注于处理文本输入,尤其在命令行界面或者交互式应用中,提供了一种优雅的方式来读取用户逐行输入的数据。 ...

    使用readline的一个实例

    本文将深入探讨`readline`库的使用及其相关知识点,以帮助开发者更好地理解和应用。 `readline`库主要用于处理用户通过标准输入(通常是键盘)输入的行数据。它提供了历史记录、补全、编辑等功能,极大地提高了用户...

    readline-6.2.tar.gz

    此外,一些编程语言如Python提供了更高层次的接口,如`readline`模块,使得在Python程序中使用readline功能变得更加简单。 总结,readline库是Unix/Linux环境中不可或缺的工具,它极大地提升了命令行交互的效率和...

    readline-4.3.tar.gz

    - **命令行编辑**:`readline`库允许用户使用类似文本编辑器的操作(如 Emacs 或 Vi 风格)来编辑命令行,如光标移动、删除字符、撤销/重做等。 - **历史记录**:`readline`保存了用户输入的命令历史,方便用户...

    rlwrap-0.42 和 readline-7.0

    很多Linux命令行工具如bash、python等都使用了readline库。当rlwrap与readline结合使用时,可以进一步增强sqlplus的用户体验。 首先,我们需要安装rlwrap和readline。从提供的压缩包文件readline-7.0.tar.gz和...

    Go-Goline-是Go的一个简单的readline设备基于C的Linenoise库

    Go-Goline是一个专门为Go语言构建的简单readline工具,它采用了C语言编写的Linenoise库作为基础。在本文中,我们将深入探讨Go-Goline的背景、功能、使用方法以及其与Linenoise库的关系。 首先,让我们了解一下什么...

    readline-devel-5.2-147.3.x86_64.zip

    RPM包包含了编译、安装和管理软件所需的全部信息,使得在SUSE系统上安装和配置`readline`库变得简单易行。 SUSE标签表明这适用于SUSE Linux环境。SUSE是一款源自德国的知名Linux发行版,以其企业级稳定性和安全性...

    rebel-readline:Clojure方言的终端readline库

    通过使用这个库,他们可以享受到类似Unix/Linux下的readline工具集所提供的功能,如命令行历史、自动补全等,这对于编写、测试和调试Clojure代码来说是个极大的便利。 **标签解析:** 1. **clojure** - 这个标签...

    linenoise-swift:纯粹的Swift替代readline

    `readline` 是一个广泛使用的 C 语言库,用于提供交互式命令行历史记录和编辑功能,而 `linenoise-swift` 则为 Swift 开发者提供了类似的便利,无需依赖外部 C 库。 1. **Swift 语言的原生支持**: `linenoise-...

    Java Readline-开源

    GNU Readline 是一个广泛使用的命令行库,它提供了在命令行中读取用户输入行的功能,包括光标移动、历史浏览、补全等功能。Editline 是 Readline 的一个轻量级替代品,通常用于那些不需要全部 Readline 功能但又希望...

    Python库 | serial-0.0.6.tar.gz

    这个库通常被称为pySerial,它为Python程序员提供了一种方便的方式来处理串行端口,使得在软件开发中实现与物理世界的交互变得更加简单。 1. **Python库**: 在Python编程中,库是预先编写好的代码集合,开发者...

    editline:UNIX的GNU readline()的小替代品

    编辑行目录介绍这是一... 例子下面是一个非常简短的示例,说明了如何使用Editline创建简单的CLI,而Ctrl-D退出程序。 稍微高级一点的示例是Jush, https://github.com/troglobit/jush/ ,这是一个很小且非常简单的UNI

    前端开源库-parse-key

    "parse-key"库的使用非常简单,通常包括以下几个步骤: 1. 引入库:在项目中引入parse-key库,可以使用npm进行安装,命令为`npm install parse-key`。如果项目使用了Webpack或其他打包工具,可以通过import或...

    标准IO库与QT流的使用.7z

    以下是一个简单的例子,展示了如何在QT中结合标准IO库和QTextStream进行文件操作: ```cpp #include #include #include int main() { QFile file("example.txt"); if (!file.open(QIODevice::ReadWrite | ...

    Python库 | macross-serial-1.0.3.tar.gz

    下面是一个简单的使用`macross-serial`库发送和接收数据的例子: ```python import serial ser = serial.Serial('COM1', 9600) ser.write(b'Hello, device!') response = ser.readline().decode('utf-8') ...

    rlwrap-0.30

    安装和使用 rlwrap 很简单。在大多数 Linux 发行版中,可以通过包管理器(如 apt-get、yum 或 dnf)来安装。一旦安装完成,你可以通过在命令前加上 `rlwrap` 来启动 sqlplus,例如:`rlwrap sqlplus [username]/...

    简单的android http请求

    如今,许多开发者选择使用如Retrofit、OkHttp等现代网络库,它们提供了更强大、更易于使用的功能,包括自动处理编码问题、支持Gson或Jackson等JSON解析库、自动重试策略等。 总结来说,Android中的HTTP请求涉及...

    Windows下python自动补全模块

    为了在Windows上获得类似的功能,我们需要借助第三方库`pyreadline`或者使用`msvcrt`模块来实现简单的补全。 1. **pyreadline**:这是专为Windows设计的一个Python接口,模拟了Unix下的`readline`功能。要安装`...

    详解Python 中sys.stdin.readline()的用法

    Python是一种广泛使用的高级编程语言,以其简单易读的代码和灵活性而闻名。在Python中,标准输入的获取通常可以通过内置的函数input()来实现。然而,在某些场景下,尤其是当需要处理来自标准输入流(stdin)的更多...

    Android 简单使用 HttpURLConnection

    本篇文章将深入探讨如何在Android中简单使用`HttpURLConnection`进行网络请求。 首先,了解`HttpURLConnection`的基本用法。在Android中,网络操作通常在子线程(非UI线程)中进行,以避免阻塞主线程导致应用无响应...

Global site tag (gtag.js) - Google Analytics