首页 > 其他分享 >rustyline 介绍

rustyline 介绍

时间:2022-11-07 11:39:40浏览次数:36  
标签:rustyline r1 Err 介绍 println line history


最近在写区块链的教学demo的时候,需要编写一个cli客户端和用户进行交互,最终找到了rustyline,按照官方的例子敲了一遍,觉得使用起来非常的舒适,因此推荐给大家。

示例

配置文件

修改Cargo.toml文件:

[dependencies]
rustyline = "6.2.0"

源码

示例源码如下:

//src/main.rs
use rustyline::error::ReadlineError;
use rustyline::Editor;

fn main() {
let mut r1 = Editor::<()>::new();
if r1.load_history("history.txt").is_err() {
println!("No previous history.");
}

loop {
let readline = r1.readline(">>");
match readline {
Ok(line) => {
r1.add_history_entry(line.as_str());
println!("Line: {}", line);
},
Err(ReadlineError::Interrupted) => {
println!("CTRL-C");
break
},
Err(ReadlineError::Eof) => {
println!("CTRL-D");
break
},
Err(err) => {
println!("Error: {:?}", err);
break
}
}
}

r1.save_history("history.txt").unwrap();
}


标签:rustyline,r1,Err,介绍,println,line,history
From: https://blog.51cto.com/u_15862521/5828340

相关文章

  • 008 Rust 异步编程,select 宏介绍
    select宏select宏也允许并发的执行Future,但是和join、try_join不同的是,select宏只要有一个Future返回,就会返回。示例源码usefutures::{select,future::FutureExt,pin_mut......
  • 006 Rust 异步编程,Stream 介绍
    Stream介绍​​Stream​​​和​​Future​​​类似,但是​​Future​​​对应的是一个​​item​​​的状态的变化,而​​Stream​​​则是类似于​​iterator​​​,在结束......
  • 005 Rust异步编程,Pin介绍
    为了对Future调用poll,需要使用到Pin的特殊类型。本节就介绍一下Pin类型。异步背后的一些原理例子1源码//文件src/main.rsusefutures::executor;asyncfnasync_function1()......
  • 23种设计模式之设计模式介绍(一)
    1,设计模式概述1.1软件设计模式的产生背景"设计模式"最初并不是出现在软件设计中,而是被用于建筑领域的设计中。1977年美国著名建筑大师、加利福尼亚大学伯克利分校环境......
  • 常见的开源协议介绍和使用
    开源协议规定了你在使用开源软件时的权利和责任,也就是规定了你可以做什么,不可以做什么的法律文件相关概念License:许可协议OpenSourceLicense:开源许可协议引用:将开......
  • Redis集群介绍
    什么是集群能够对外提供相同服务的多台服务器组成的集合。为什么要建立集群1.从可用性角度考虑,如果只有一台机器提供服务,一旦出现故障,那么整个服务不可用。2.从容量角......
  • Angular 14 新的 inject 函数介绍
    Angular14提供了一些非常有趣的特性:类型化表单(typedforms)、独立组件(standalonecomponents),以及本文将要介绍的内容,即在所谓的构造器阶段(constructorphase)使用inj......
  • 23种设计模式-抽象工厂模式介绍加实战代码
    1、描述通俗一点来讲,抽象工厂模式就是在工厂方法模式的抽象工厂类中规范多个同类产品。工厂方法模式是针对一个产品系列的,而抽象工厂模式是针对多个产品系列的,即工厂方法......
  • 云南美食介绍 简单静态HTML网页作品 美食餐饮网站设计与实现 学生美食网站模板
    ......
  • ObjectMapper详细介绍
    参考声明:https://blog.csdn.net/qq_42017395/article/details/107555339简介ObjectMapper类(com.fasterxml.jackson.databind.ObjectMapper)是Jackson的主要类,它可以......