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`库主要用于处理用户通过标准输入(通常是键盘)输入的行数据。它提供了历史记录、补全、编辑等功能,极大地提高了用户...
此外,一些编程语言如Python提供了更高层次的接口,如`readline`模块,使得在Python程序中使用readline功能变得更加简单。 总结,readline库是Unix/Linux环境中不可或缺的工具,它极大地提升了命令行交互的效率和...
- **命令行编辑**:`readline`库允许用户使用类似文本编辑器的操作(如 Emacs 或 Vi 风格)来编辑命令行,如光标移动、删除字符、撤销/重做等。 - **历史记录**:`readline`保存了用户输入的命令历史,方便用户...
很多Linux命令行工具如bash、python等都使用了readline库。当rlwrap与readline结合使用时,可以进一步增强sqlplus的用户体验。 首先,我们需要安装rlwrap和readline。从提供的压缩包文件readline-7.0.tar.gz和...
Go-Goline是一个专门为Go语言构建的简单readline工具,它采用了C语言编写的Linenoise库作为基础。在本文中,我们将深入探讨Go-Goline的背景、功能、使用方法以及其与Linenoise库的关系。 首先,让我们了解一下什么...
RPM包包含了编译、安装和管理软件所需的全部信息,使得在SUSE系统上安装和配置`readline`库变得简单易行。 SUSE标签表明这适用于SUSE Linux环境。SUSE是一款源自德国的知名Linux发行版,以其企业级稳定性和安全性...
通过使用这个库,他们可以享受到类似Unix/Linux下的readline工具集所提供的功能,如命令行历史、自动补全等,这对于编写、测试和调试Clojure代码来说是个极大的便利。 **标签解析:** 1. **clojure** - 这个标签...
`readline` 是一个广泛使用的 C 语言库,用于提供交互式命令行历史记录和编辑功能,而 `linenoise-swift` 则为 Swift 开发者提供了类似的便利,无需依赖外部 C 库。 1. **Swift 语言的原生支持**: `linenoise-...
GNU Readline 是一个广泛使用的命令行库,它提供了在命令行中读取用户输入行的功能,包括光标移动、历史浏览、补全等功能。Editline 是 Readline 的一个轻量级替代品,通常用于那些不需要全部 Readline 功能但又希望...
这个库通常被称为pySerial,它为Python程序员提供了一种方便的方式来处理串行端口,使得在软件开发中实现与物理世界的交互变得更加简单。 1. **Python库**: 在Python编程中,库是预先编写好的代码集合,开发者...
编辑行目录介绍这是一... 例子下面是一个非常简短的示例,说明了如何使用Editline创建简单的CLI,而Ctrl-D退出程序。 稍微高级一点的示例是Jush, https://github.com/troglobit/jush/ ,这是一个很小且非常简单的UNI
"parse-key"库的使用非常简单,通常包括以下几个步骤: 1. 引入库:在项目中引入parse-key库,可以使用npm进行安装,命令为`npm install parse-key`。如果项目使用了Webpack或其他打包工具,可以通过import或...
以下是一个简单的例子,展示了如何在QT中结合标准IO库和QTextStream进行文件操作: ```cpp #include #include #include int main() { QFile file("example.txt"); if (!file.open(QIODevice::ReadWrite | ...
下面是一个简单的使用`macross-serial`库发送和接收数据的例子: ```python import serial ser = serial.Serial('COM1', 9600) ser.write(b'Hello, device!') response = ser.readline().decode('utf-8') ...
安装和使用 rlwrap 很简单。在大多数 Linux 发行版中,可以通过包管理器(如 apt-get、yum 或 dnf)来安装。一旦安装完成,你可以通过在命令前加上 `rlwrap` 来启动 sqlplus,例如:`rlwrap sqlplus [username]/...
如今,许多开发者选择使用如Retrofit、OkHttp等现代网络库,它们提供了更强大、更易于使用的功能,包括自动处理编码问题、支持Gson或Jackson等JSON解析库、自动重试策略等。 总结来说,Android中的HTTP请求涉及...
为了在Windows上获得类似的功能,我们需要借助第三方库`pyreadline`或者使用`msvcrt`模块来实现简单的补全。 1. **pyreadline**:这是专为Windows设计的一个Python接口,模拟了Unix下的`readline`功能。要安装`...
Python是一种广泛使用的高级编程语言,以其简单易读的代码和灵活性而闻名。在Python中,标准输入的获取通常可以通过内置的函数input()来实现。然而,在某些场景下,尤其是当需要处理来自标准输入流(stdin)的更多...
本篇文章将深入探讨如何在Android中简单使用`HttpURLConnection`进行网络请求。 首先,了解`HttpURLConnection`的基本用法。在Android中,网络操作通常在子线程(非UI线程)中进行,以避免阻塞主线程导致应用无响应...