#input #terminal #error-handling #recoverable-errors #custom-messages

inputparser

终端输入现在像伪代码一样简单,就像Python一样简单……可能吧

13个版本

0.1.72 2020年7月29日
0.1.71 2020年7月28日

#776 in 命令行界面

Download history 57/week @ 2024-06-29 145/week @ 2024-07-27

每月200次下载

MIT许可证

6KB
62

crates.io version Crates.io Downloads crates.io license Discord image

inputparser

注意:感谢@Restioson@ThatsNoMoon@kangalioo帮助我编写代码

现在Rust输入几乎和Python一样简单

终端输入现在比以往任何时候都简单。用1个函数替换超过5行代码。

支持所有FromStr支持的格式

而不是

let mut var: String = String::new();
io::stdin().read_line(&mut var).unwrap();
let var: i32 = var.trim().parse().unwrap();

为什么不呢

let var: i32 = input(Def);

并且当输入错误格式时(默认参数[Def])不会崩溃。

或者你也可以选择让它崩溃。

用法

[dependencies]
inputparser = "0.1"

示例

extern crate inputparser;
use inputparsertest::{input, input_w_msg, inputfn, ErHandle::*};

fn main() {
    //for Default continue message "Input not supported" when Err
    let i: i32 = input(Def);

    //for custom panic message when Err
    let j: f64 = input(Pnc("Panic Message"));

    //for custom continue message when Err
    let k: u128 = input(Msg("Continue Message"));

    //for custom loop message and continue/error message
    let l: isize = input_w_msg("Enter the number",Msg("Please enter valid number"));

    //for more Rust way for handling the error
    let m: usize = inputfn(|| /*use panic if required*/ println!("Continue Error Message"));
 
    println!("{} {} {} {} {}", i, j, k, l, m);
}

无运行时依赖